;;;============================================================
;;;
;;; Subject: Simplicial Sets Kenzo generic theory
;;;
;;;------------------------------------------------------------
;;;
;;; Jónathan Heras Vicente
;;; Date: 03-10-09
;;;
;;;============================================================


(in-package "ACL2")

(include-book "eat-general-properties")

(set-verify-guards-eagerness 0)

;;;------------------------------------------------------------
;;;
;;; A simplicial-set generic model:
;;;
;;;------------------------------------------------------------

(encapsulate
 (((face * * *) => *)
  ((canonical *) => *)
 
  )

 (local
  (defun face (ss s absm)
    (declare (ignore ss s))
    (1- absm)))

 (local
  (defun canonical (absm)
    (natp absm)))


 
 (defthm faceoface
   (implies (and (natp i)
		 (natp j)
		 (< i j)
		 (canonical ls))
	   (equal (face ss i (face ss j ls))
		  (face ss (- j 1) (face ss i ls))))
   )


 
 )

;;;****************************************************************************
;;;
;;; EAT 
;;;
;;;****************************************************************************

;;;----------------------------------------------------------------------------
;;;
;;; Operators
;;;
;;;----------------------------------------------------------------------------

  
(defun face-eat (ss d ls gmsm)
  (if (cmp-d-ls-d-do d ls)
      (list (cmp-d-ls d ls) (face ss (cmp-d-ls-d-do d ls) gmsm))
    (list (cmp-d-ls d ls) gmsm)))


(defun imp-face-eat (ss d q absm)
  (declare (ignore q))
  (face-eat ss d (car absm) (cadr absm)))


(defun degeneracy-eat (d ls gmsm)
  (list (cmp-s-ls d ls) gmsm))

(defun imp-degeneracy-eat (ss d q absm)
  (declare (ignore q ss))
  (degeneracy-eat d (car absm) (cadr absm)))


;;;----------------------------------------------------------------------------
;;;
;;; Property 1
;;; face o face, i < j
;;;
;;;----------------------------------------------------------------------------

(defthm equal-equal-2
  (implies (and (equal a b)
		(equal c b))
	   (equal a c))
  :rule-classes nil)


;:;Case 1:
;;;-> (null (cmp-d-ls-d-do j ls))
;;;-> (null (cmp-d-ls-d-do i ls))

;;;Case 1.1 : (> j-1 i)

(defthm property1/case-1.0
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (imp-face-eat sc i (- q 1)
				 (list (cmp-d-ls j (car absm))
				       (cadr absm))
 		    )))
)


(defthm property1/case-1.1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (cmp-d-ls j (car absm))))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm)))))


(defthm property1/case-1.2
    (implies (and (< i j) (< i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1-bis (ls (car absm)))
	       (:instance property1/case-1.1)))))


(defthm property1/case-1.3
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc (- j 1) (- q 1)
				 (list (cmp-d-ls i (car absm))
				       (cadr absm))
 		    )))
)


(defthm property1/case-1.4
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (null (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm)))))


(defthm property1/case-1.5
    (implies (and (< i j) (< i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2-bis (ls (car absm)))
	       (:instance property1/case-1.4)))))


(defthm property1/case-1.6
    (implies (and (< i j) (< i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1.5)
	       (:instance property1/case-1.2)))))


;;;Case 1.2 : (= j-1 i)
;;; This case is separated in 8 cases.


(defthm property1/case-1/1.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (my-member-3 i (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1.1-bis (ls (car absm)))
	       (:instance property1/case-1.1)))))


(defthm property1/case-1/1.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2.1-bis (ls (car absm)))
	       (:instance property1/case-1.4)))))


(defthm property1/case-1/1.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/1.0)
	       (:instance property1/case-1/1.1)))))


		


(defthm property1/case-1/2.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1.2-bis (ls (car absm)))
	       (:instance property1/case-1.1)))))


(defthm property1/case-1/2.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2.2-bis (ls (car absm)))
	       (:instance property1/case-1.4)))))


(defthm property1/case-1/2.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (not(my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/2.0)
	       (:instance property1/case-1/2.1)))))




(defthm property1/case-1/3.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (not(my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1.3-bis (ls (car absm)))
	       (:instance property1/case-1.1)))))


(defthm property1/case-1/3.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2.3-bis (ls (car absm)))
	       (:instance property1/case-1.4)))))


(defthm property1/case-1/3.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not(my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/3.0)
	       (:instance property1/case-1/3.1)))))




(defthm property1/case-1/4.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1.4-bis (ls (car absm)))
	       (:instance property1/case-1.1)))))


(defthm property1/case-1/4.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2.4-bis (ls (car absm)))
	       (:instance property1/case-1.4)))))


(defthm property1/case-1/4.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (my-member-2 i (car absm))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/4.0)
	       (:instance property1/case-1/4.1)))))




(defthm property1/case-1/5.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (not (my-member-2 j (car absm)))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance face-do-if-null-implies-not-my-member
			  (i i)
			  (ls (car absm)))
	       (:instance property1/case-1.1)
))))


(defthm property1/case-1/5.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance face-do-if-null-implies-not-my-member
			  (i i)
			  (ls (car absm)))
	       (:instance property1/case-1.1)
))))


(defthm property1/case-1/5.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/5.0)
	       (:instance property1/case-1/5.1)))))




(defthm property1/case-1/6.0
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (cadr absm)))))



(defthm property1/case-1/6.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (cadr absm)))))


(defthm property1/case-1/6.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (my-member-2 j (car absm))
		  (not (my-member-2 i (car absm)))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm)))))



(defthm property1/case-1/7.2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (not (my-member-2 i (car absm)))
		  (my-member-3 i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm)))))



(defthm property1/case-1/8.0
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm))
			  ))))


(defthm property1/case-1/8.1
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma1.0-bis (ls (car absm)))
	       (:instance property1/case-1/8.0)))))



(defthm property1/case-1/8.2
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))
			  ))))

(defthm property1/case-1/8.3
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma2.0-bis (ls (car absm)))
	       (:instance property1/case-1/8.2)))))


(defthm property1/case-1/8.4
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/8.3)))))


(defthm property1/case-1/8.5
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/8.4)
	       (:instance lemma1.0-lemma2.0-a (ls (car absm)))))))

(defthm property1/case-1/8.6
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (not (my-member-2 j (car absm)))
		  (my-member-2 i (car absm))
		  (not (my-member-3 i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/8.1)
	       (:instance property1/case-1/8.5)
	       (:instance equal-equal-2
			  (a (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm)))
			  (b (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm))
			  ))
			  (c (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
	       ))))


(defthm property1/case-1/2
    (implies (and (< i j) (= i (- j 1)) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1/8.6)
	       (:instance property1/case-1/7.2)
	       (:instance property1/case-1/6.2)
	       (:instance property1/case-1/5.2)
	       (:instance property1/case-1/4.2)
	       (:instance property1/case-1/3.2)
	       (:instance property1/case-1/2.2)
	       (:instance property1/case-1/1.2)
	       ))))


(defthm property1/case-1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-1.6)
	       (:instance property1/case-1/2)
	       ))))



;:;Case 2:
;;;-> (cmp-d-ls-d-do j ls)
;;;-> (cmp-d-ls-d-do i ls)


(defthm property1/case-2.0
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm)))
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (imp-face-eat sc i (- q 1)
				 (list (cmp-d-ls j (car absm))
				       (face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))	
 		    )))
)


(defthm property1/case-2.1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
				(face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
			  ))))


(defthm property1/case-2.2
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
				(face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma4-bis (ls (car absm)))
	       (:instance property1/case-2.1)))))


(defthm property1/case-2.3
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm)))
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc (- j 1) (- q 1)
				 (list (cmp-d-ls i (car absm))
				       (face sc (cmp-d-ls-d-do i (car absm)) (cadr absm)))
 		    )))
)

(defthm property1/case-2.4
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
				(face sc (cmp-d-ls-d-do i (car absm)) (cadr absm)))
			  ))))


(defthm property1/case-2.5
    (implies (and (< i j)  (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		   (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
				(face sc (cmp-d-ls-d-do i (car absm)) (cadr absm)))
			  ) ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma3-bis (ls (car absm)))
	       (:instance property1/case-2.4)))))


(defthm property1/case-2.6
    (implies (and (< i j)  (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		   (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
				(face sc (cmp-d-ls-d-do i (car absm)) (cadr absm)))
			  ) ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-2.5)))))


(defthm natp-cmp-d-ls-d-do-j
  (implies (and (natp i)
		(dgl-p ls)
		(cmp-d-ls-d-do i ls))
	   (natp (cmp-d-ls-d-do i ls))))



(defthm property1/case-2.7
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  (natp (cmp-d-ls-d-do j (car absm)))
		  (natp (cmp-d-ls-d-do i (cmp-d-ls j (car absm))))
		  (< (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
		     (cmp-d-ls-d-do j (car absm)))
		  )
             (equal (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
		    (face sc (- (cmp-d-ls-d-do j (car absm)) 1)
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))
		    ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance faceoface
			  (i (cmp-d-ls-d-do i (cmp-d-ls j (car absm))))
			  (j (cmp-d-ls-d-do j (car absm)))
			  (ls (cadr absm)))))))

(defthm property1/case-2.8
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  (natp (cmp-d-ls-d-do j (car absm)))
		  (natp (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))))
             (equal (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
		    (face sc (- (cmp-d-ls-d-do j (car absm)) 1)
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))
		    ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma12-1 (ls (car absm)))
	       (:instance property1/case-2.7)))))


(defthm property1/case-2.9
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  (natp (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))))
             (equal (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
		    (face sc (- (cmp-d-ls-d-do j (car absm)) 1)
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))
		    ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-2.8)))))

(defthm natp-cmp-d-ls-d-do-i-j
  (implies (and (natp i) (natp j) (dgl-p ls) (< i j)
		(cmp-d-ls-d-do j ls)
		(cmp-d-ls-d-do i ls))
	   (natp (cmp-d-ls-d-do i (cmp-d-ls j ls)))))


(defthm property1/case-2.10
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do j (car absm)) (cadr absm)))
		    (face sc (- (cmp-d-ls-d-do j (car absm)) 1)
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))
		    ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance natp-cmp-d-ls-d-do-i-j (ls (car absm)))
	       (:instance property1/case-2.9)))))

(defthm property1/case-2.11
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
		    (face sc (- (cmp-d-ls-d-do j (car absm)) 1)
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))
		    )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-2.2)
	       (:instance property1/case-2.10)))))


(defthm property1/case-2.12
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
		    (face sc (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
			  (face sc (cmp-d-ls-d-do i (car absm)) (cadr absm)))
		    )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-2.11)
	       (:instance lemma12 (ls (car absm)))
	       (:instance lemma11 (ls (car absm)))))))


(defthm property1/case-2
    (implies (and (< i j)  (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  (cmp-d-ls-d-do j (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-2.6)
	       (:instance property1/case-2.12)))))


;:;Case 3:
;;;-> (null (cmp-d-ls-d-do j ls))
;;;-> (cmp-d-ls-d-do i ls)



(defthm property1/case-3.1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc (cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm))
			  )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma6-bis (ls (car absm)))
	       (:instance property1/case-1/8.0)))))



(defthm property1/case-3.2
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm)))
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc (- j 1) (- q 1)
				 (list (cmp-d-ls i (car absm))
				       (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm)))
 		    )))
)


(defthm property1/case-3.3
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do i (car absm))
		  (null (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm))))))


(defthm property1/case-3.4
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm)))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma5-bis (ls (car absm)))
	       (:instance property1/case-3.3)))))


(defthm property1/case-3.5
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm)))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-3.4)))))

(defthm property1/case-3.6
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do i (cmp-d-ls j (car absm))) (cadr absm)))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-3.5)
	       (:instance lemma10 (ls (car absm)))))))

(defthm property1/case-3
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do j (car absm)))
		  (cmp-d-ls-d-do i (car absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-3.6)
	       (:instance property1/case-3.1)))))


;:;Case 4:
;;;-> (cmp-d-ls-d-do j ls)
;;;-> (null (cmp-d-ls-d-do i ls))


(defthm property1/case-4.1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (imp-face-eat sc i (- q 1)
				 (list (cmp-d-ls j (car absm))
				       (face sc(cmp-d-ls-d-do j (car absm)) (cadr absm))
				       )
 		    )))
)


(defthm property1/case-4.2
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (cmp-d-ls j (car absm))))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do j (car absm)) (cadr absm))))))

(defthm property1/case-4.2-b
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do j (car absm)) (cadr absm)))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma8-bis (ls (car absm)))
	       (:instance property1/case-4.2)))))


(defthm property1/case-4.3
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))
		    (imp-face-eat sc i (- q 1)
				 (list (cmp-d-ls j (car absm))
				       (face sc(cmp-d-ls-d-do j (car absm)) (cadr absm))
				       )
 		    )))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma8-bis (ls (car absm)))
	       (:instance property1/case-4.2)))))


(defthm property1/case-4.4
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc (- j 1) (- q 1)
				 (list (cmp-d-ls i (car absm))
				       (cadr absm))
 		    )))
)


(defthm property1/case-4.5
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  (cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc(cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))))))


(defthm property1/case-4.6
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		   (list (cmp-d-ls (- j 1) (cmp-d-ls i (car absm)))
			  (face sc(cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))) ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance lemma7-bis (ls (car absm)))
	       (:instance property1/case-4.5)))))


(defthm property1/case-4.7
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		   (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do (- j 1) (cmp-d-ls i (car absm))) (cadr absm))) ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-4.6)))))

(defthm property1/case-4.8
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		   (list (cmp-d-ls i (cmp-d-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do j (car absm)) (cadr absm))) ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-4.7)
	       (:instance lemma9 (ls (car absm)))))))



(defthm property1/case-4
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (cmp-d-ls-d-do j (car absm))
		  (null (cmp-d-ls-d-do i (car absm)))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1/case-4.2-b)
	       (:instance property1/case-4.8)
	       )))
)


(defthm property1
    (implies (and (< i j) (natp i) (natp j) (dgl-p (car absm))
		  (canonical (cadr absm))
		  )
             (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q absm))
		    (imp-face-eat sc i (- q 1) (imp-face-eat sc j q absm))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable imp-face-eat)
	 :use ((:instance property1/case-1)
	       (:instance property1/case-2)
	       (:instance property1/case-3)
	       (:instance property1/case-4)
	       )))
)




;;;----------------------------------------------------------------------------
;;;
;;; property 2
;;; deg o deg forall  i < j
;;;
;;;----------------------------------------------------------------------------


(defthm property2
    (implies (<= i j)
             (equal (imp-degeneracy-eat sc i (1+ q)
				       (imp-degeneracy-eat sc j q absm))
                    (imp-degeneracy-eat sc (1+ j) (1+ q)
				       (imp-degeneracy-eat sc i q absm))
                    )
             )
    :hints (("Goal''" :use
	     ((:instance cmp-s-ls-property (ls (car absm)))))))



;;;----------------------------------------------------------------------------
;;;
;;; property 3
;;; face o deg forall  i < j
;;;
;;;----------------------------------------------------------------------------


(defthm property-3-a1
    (implies (and (< i j) (dgl-p ls)
                  (null (cmp-d-ls-d-do i ls)))
             (equal (imp-degeneracy-eat sc (1- j) (1- q) (imp-face-eat sc i q (list ls gmsm)))
                    (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q (list ls gmsm))
                          ))
             ))

(defthm property-3-a
    (implies (and (< i j) (dgl-p (car absm))
                  (null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-degeneracy-eat sc (1- j) (1- q) (imp-face-eat sc i q absm))
                    (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm)
                          ))
             )
  :hints (("Goal" :do-not-induct t
           :use ((:instance property-3-a1 (i i)
                            (j j) (ls (car absm))
                            (gmsm (cadr absm))) 		
                 )
           ))
  )




(defthm property-3-aux1
    (implies (and (< i j) (dgl-p (car absm))
                  (not (null (cmp-d-ls-d-do i (car absm)))))
             (equal (imp-degeneracy-eat sc (1- j) (1- q) (imp-face-eat sc i q absm))
                    (list (cmp-s-ls (1- j) (cmp-d-ls i (car absm)))
			  (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm))))
             )
  )





(defthm property-3-aux3
    (implies (and (< i j) (dgl-p (car absm))
                  )
             (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
                    (imp-face-eat sc i (1+ q) (list (cmp-s-ls j (car absm)) (cadr absm)))
                    )
             )
  )

(defthm property-3-aux4
    (implies (and (< i j) (dgl-p (car absm))
                  (not (null (cmp-d-ls-d-do i (cmp-s-ls j (car absm))))))
             (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
                    (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm)))		
                    )
             )
  )

;; Note that, if cmp-d-ls-d-do is not null then (cmp-d-ls-d-do i (cmp-s-ls j ls)) is also not null




(defthm property-3-aux-5
    (implies (and (< i j) (dgl-p (car absm))
                  (not (null (cmp-d-ls-d-do i (car absm))))
                  )
             (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
                    (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm)))		
                    )
             )
  :hints
  (("Goal" :do-not-induct t
    :use ( (:instance face-not-null-implies-deg-face-not-null (i i)
                      (j j) (ls (car absm))
                      )
          (:instance property-3-aux4 (i i)
                     (j j) (absm absm)
                     )	


          )
    ))
  )






(defthm property-3-aux-6
    (implies (and (< i j) (dgl-p (car absm))
                  (not (null (cmp-d-ls-d-do i (car absm))))
                  )
             (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
                    (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			  (face sc(cmp-d-ls-d-do i (car absm)) (cadr absm)))		
                    )
             )
  :hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-3-aux-5)
          (:instance i<j=>cmp-d-ls-d-do-i-cmp-s-ls-j=cmp-d-ls-d-do-i
                     (dgop (car absm))
                     )	


          )
    ))
  )

(defthm property-3-b
    (implies (and (< i j) (dgl-p (car absm))
                  (not (null (cmp-d-ls-d-do i (car absm)))))
             (equal (imp-degeneracy-eat sc (1- j) (1- q) (imp-face-eat sc i q absm))
                    (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm)
                          ))
             )
  :hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-3-aux1)
          (:instance property-3-aux-6)
          (:instance cmp-d-ls-cmp-s-ls (i i)
                     (j j) (ls (car absm))
                     )
          )
    )))


(defthm property-3
    (implies (and (< i j) (dgl-p (car absm)))
             (equal (imp-degeneracy-eat sc (1- j) (1- q) (imp-face-eat sc i q absm))
                    (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm)
                          ))
             )
  :hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-3-a)
          (:instance property-3-b)	
          ))))




;;;----------------------------------------------------------------------------
;;;
;;; property 4
;;; face o deg forall  i
;;;
;;;----------------------------------------------------------------------------


(defthm property-4-aux-1
    (implies (and (natp i) (dgl-p (car absm)))
             (equal (imp-face-eat sc i (+ q 1) (imp-degeneracy-eat sc i q absm))
                    (imp-face-eat sc i (+ q 1) (list (cmp-s-ls i (car absm)) (cadr absm)))
                    )
             ))


(defthm property-4-aux-2
  (implies (and (natp i) (dgl-p (car absm))
		(null (cmp-d-ls-d-do i (car absm))))
             (equal (imp-face-eat sc i (1+ q) absm)
                    (list (cmp-d-ls i (car absm)) (cadr absm)))
                    )
)

		

(defthm property-4-aux-3
    (implies (and (natp i) (dgl-p (car absm)) )
             (equal (imp-face-eat sc i (+ q 1) (imp-degeneracy-eat sc i q absm))
                    (list (cmp-d-ls i (cmp-s-ls i (car absm))) (cadr absm)))
                    )
:hints
  (("Goal" :do-not-induct t
    :use ((:instance property-4-aux-1)
          (:instance i=>nullcmp-d-ls-d-do-i-cmp-s-ls-i (dgop (car absm)))	
	  (:instance property-4-aux-2 (absm (list (cmp-s-ls i (car absm)) (cadr absm)))
                      )))))

(defthm property-4-aux4
    (implies (and (natp i) (dgl-p (car absm)))
             (equal (imp-face-eat sc (1+ i) (+ q 1) (imp-degeneracy-eat sc i q absm))
                    (imp-face-eat sc (1+ i) (+ q 1) (list (cmp-s-ls i (car absm)) (cadr absm)))
                    )
             ))


(defthm property-4-aux5
  (implies (and (natp i) (dgl-p (car absm))
		(null (cmp-d-ls-d-do (1+ i) (car absm))))
             (equal (imp-face-eat sc (1+ i) (1+ q) absm)
                    (list (cmp-d-ls (1+ i) (car absm)) (cadr absm)))
                    )
)


(defthm property-4-aux6
    (implies (and (natp i) (dgl-p (car absm)))
             (equal (imp-face-eat sc (1+ i) (+ q 1) (imp-degeneracy-eat sc i q absm))
                    (list (cmp-d-ls (1+ i) (cmp-s-ls i (car absm))) (cadr absm)))
                    )
:hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-4-aux4)
          (:instance i=>nullcmp-d-ls-d-do-1+i-cmp-s-ls-i (dgop (car absm)))	
	  (:instance property-4-aux5 (absm (list (cmp-s-ls i (car absm)) (cadr absm)))
                      )))))



(defthm property-4
    (implies (and (natp i) (dgl-p (car absm)))
             (equal (imp-face-eat sc i (+ q 1) (imp-degeneracy-eat sc i q absm))
                    (imp-face-eat sc (1+ i) (+ q 1) (imp-degeneracy-eat sc i q absm))
                    )
             )
:hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-4-aux-3)          	
	  (:instance property-4-aux6)
	  (:instance cmp-d-ls-cmp-s-ls-property-4-a (ls (car absm))
		     )))))



(defthm property-4-a
    (implies (and (natp i) (equal absm (list (car absm) (cadr absm)))
		  (dgl-p (car absm)))
             (equal (imp-face-eat sc i (+ q 1) (imp-degeneracy-eat sc i q absm))
                    absm
                    )
             )
:hints
  (("Goal" :do-not-induct t
    :use ( (:instance property-4-aux-3)          	
	  (:instance cmp-d-ls-cmp-s-ls-property-4-b (i i)
                       (ls (car absm))
                      )))))


;;;----------------------------------------------------------------------------
;;;
;;; property 5
;;; face o deg forall  i > j+1
;;;
;;;----------------------------------------------------------------------------


(defthm property-5-1/1
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(null (cmp-d-ls-d-do (- i 1) (car absm))))
	   (equal (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm))
		  (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm)))
			(cadr absm)))))


(defthm property-5-1/2
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(null (cmp-d-ls-d-do i (cmp-s-ls j (car absm)))))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(cadr absm)))))



(defthm property-5-1
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(null (cmp-d-ls-d-do (- i 1) (car absm))))
	   (equal (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm))
		  (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  ))
:hints (("Goal" :do-not-induct t
:use ((:instance face-null-implies-deg-face-null
		 (i i) (j j) (ls (car absm)))
      (:instance property-5-1/1)
      (:instance property-5-1/2)
      (:instance cmp-d-ls-cmp-s-ls-prop5 (ls (car absm)))
))))



(defthm property-5-2/1/1
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm))
		  (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm) ))
			(face sc(cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		  )))


(defthm property-5-2/2/1
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do i (cmp-s-ls j (car absm))))))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (imp-face-eat sc i (1+ q) (list (cmp-s-ls j (car absm)) (cadr absm)))
		  )))


(defthm property-5-2/2/2
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do i (cmp-s-ls j (car absm))))))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc(cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm))))
		  ))

(defthm face-not-null-implies-deg-face-not-null-to-prop5
  (implies (and (> i (+ j 1)) (dgl-p ls) (natp i) (natp j)
		(not(null (cmp-d-ls-d-do (- i 1) ls))))
	   (not (null (cmp-d-ls-d-do i (cmp-s-ls j ls)))))
:hints (("Goal" :induct (cmp-d-ls-do-induct i ls)
)))

(defthm property-5-2/2/3
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm))) ))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc(cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm))))
		  )
:hints
(("Goal" :do-not-induct t
:use ((:instance face-not-null-implies-deg-face-not-null-to-prop5
		 (ls (car absm)))
      (:instance property-5-2/2/2)
      ))))




(defthm i>j+1=>cmp-d-ls-d-do-i-cmp-s-ls-j=cmp-d-ls-d-do-i-1-bis
  (implies (and (> i (+ j 1)) (natp i) (natp j)
		(not(null (cmp-d-ls-d-do (- i 1) dgop))))
	   (equal (cmp-d-ls-d-do i (cmp-s-ls j dgop))
		  (cmp-d-ls-d-do (- i 1) dgop)
		  ))
:hints (("Goal" :induct (cmp-d-ls-do-induct i dgop)
)))

(defthm equal-face
  (implies (equal a b)
	   (equal (face sc a l)
		  (face sc b l))))

(defthm property-5-2/2/4-a
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (face sc(cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm))
		  (face sc(cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		  )
:hints
(("Goal" :do-not-induct t
  :use ((:instance i>j+1=>cmp-d-ls-d-do-i-cmp-s-ls-j=cmp-d-ls-d-do-i-1-bis
		 (dgop (car absm)))
	(:instance equal-face (a (cmp-d-ls-d-do i (cmp-s-ls j (car absm))))
		   (b (cmp-d-ls-d-do (- i 1) (car absm)))
		   (l (cadr absm))))
      ))
:rule-classes nil)

(defthm equal-list
  (implies (equal a b)
	   (equal (list (cmp-d-ls i (cmp-s-ls j (car absm))) a)
		  (list (cmp-d-ls i (cmp-s-ls j (car absm))) b))))




(defthm property-5-2/2/4-b
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm)))
		  (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		  )
:hints
(("Goal" :do-not-induct t
  :use ((:instance property-5-2/2/4-a)
	(:instance equal-list (a (face sc (cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm)))
		   (b (face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		   )
	)  )
      )
:rule-classes nil)

(defthm equal-equal
  (implies (and (equal a b)
		(equal b c))
	   (equal a c))
:rule-classes nil)

(defthm property-5-2/2/4
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		  )
:hints (("Goal" :do-not-induct t
  :use ((:instance property-5-2/2/3)
	(:instance property-5-2/2/4-b)
	(:instance equal-equal
		   (a (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm)))
		   (b (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do i (cmp-s-ls j (car absm))) (cadr absm))))
		   (c (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))))
      )))



(defthm equal-list-2
  (implies (equal a b)
	   (equal (list a (face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		  (list b (face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		  ))
  :rule-classes nil)


(defthm property-5-2/2/5
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm)))
		  (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		  )
:hints (("Goal" :do-not-induct t
  :use ((:instance cmp-d-ls-cmp-s-ls-prop5
		 (i i) (j j) (ls (car absm))
		 )
	(:instance equal-list-2
		   (a (cmp-d-ls i (cmp-s-ls j (car absm))))
		   (b (cmp-s-ls j (cmp-s-ls (- i 1) (car absm))))))
      ))
:rule-classes nil)


(defthm property-5-2/2/6
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))
		  (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		  )
:hints (("Goal" :do-not-induct t
  :use ((:instance property-5-2/2/4)
	(:instance property-5-2/2/5)
	(:instance equal-equal
		   (a (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm)))
		   (b (list (cmp-d-ls i (cmp-s-ls j (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		   (c (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))))
      )))



(defthm property-5-2
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j)
		(not (null (cmp-d-ls-d-do (- i 1) (car absm)))))
	   (equal (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm))
		  (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))))
:hints
(("Goal" :do-not-induct t
:use ((:instance property-5-2/2/6)
      (:instance property-5-2/1/1)
      (:instance equal-equal-2
		 (a (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm)))
		 (b (list (cmp-s-ls j (cmp-d-ls (- i 1) (car absm)))
			(face sc (cmp-d-ls-d-do (- i 1) (car absm)) (cadr absm))))
		 (c (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))))
      ))))


(defthm property-5
  (implies (and (> i (+ j 1)) (dgl-p (car absm)) (natp i) (natp j))
	   (equal (imp-degeneracy-eat sc j (1- q) (imp-face-eat sc (- i 1) q absm))
		  (imp-face-eat sc i (1+ q) (imp-degeneracy-eat sc j q absm))))
:hints
(("Goal" :do-not-induct t
:use ((:instance property-5-2)
      (:instance property-5-1)
      ))))


;;;****************************************************************************
;;;
;;; Change of representation
;;;
;;;****************************************************************************

(include-book "1dlop-dgop-do-cmp-d-ls-d-do")

(include-book "1dlop-dgop-binary-cmp-d-ls")


;;;****************************************************************************
;;;
;;; Kenzo
;;;
;;;****************************************************************************


;;;----------------------------------------------------------------------------
;;;
;;; Operators
;;;
;;;----------------------------------------------------------------------------


(defun face-kenzo (sc d dgop gmsm)
  (if (1dlop-dgop-do d dgop)
      (list (1dlop-dgop d dgop) gmsm)
    (list (1dlop-dgop d dgop) (face sc (real-1dlop-dgop-do d dgop) gmsm))
    ))


(defun imp-face-kenzo (sc d q absm)
  (declare (ignore q))
  (face-kenzo sc d (car absm) (cadr absm)))


(defun degeneracy-kenzo (d dgop gmsm)
  (list (dgop*dgop (dgb->dgn (dgl->dgb (list d))) dgop) gmsm))
 

 
(defun imp-degeneracy-kenzo (sc d q absm)
  (declare (ignore sc q))
  (degeneracy-kenzo d (car absm) (cadr absm)))


;;;----------------------------------------------------------------------------
;;;
;;; Equivalences
;;;
;;;----------------------------------------------------------------------------

(defthm 1dlop-dgop-do=>null-cmp-d-ls-d-do
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (null (cmp-d-ls-d-do d (dgop-int-ext dgop))))
  :hints (("Goal" :use ((:instance 1dlop-dgop-do=1dlop-dgop-binary-do)
			(:instance 1dlop-dgop-binary-do-implies-null-cmp-d-ls-d-do
				   (dgb (dgn->dgb dgop)))))))


(defthm null-1dlop-dgop-do=>null-1dlop-dgop-binary-do
  (implies (and (natp d)
		(natp dgop))
	   (equal (null (1dlop-dgop-do d dgop))
		  (null (1dlop-dgop-binary-do d (dgn->dgb dgop))))))

(defthm null-1dlop-dgop-do=>cmp-d-ls-d-do.0
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-binary-do d (dgn->dgb dgop))))
	   (cmp-d-ls-d-do d (dgb->dgl (dgn->dgb dgop))))
  :hints (("Goal" :use ((:instance null-1dlop-dgop-binary-do-implies-cmp-d-ls-d-do
				   (dgb (dgn->dgb dgop)))))))

(defthm null-1dlop-dgop-do=>cmp-d-ls-d-do.1
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-binary-do d (dgn->dgb dgop))))
	   (cmp-d-ls-d-do d (dgop-int-ext dgop)))
  :hints (("Goal" :use ((:instance null-1dlop-dgop-do=>cmp-d-ls-d-do.0)))))


(defthm null-1dlop-dgop-do=>cmp-d-ls-d-do
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (cmp-d-ls-d-do d (dgop-int-ext dgop)))
  :hints (("Goal" :in-theory (disable 1dlop-dgop-do)
	   :use ((:instance null-1dlop-dgop-do=>null-1dlop-dgop-binary-do)
			(:instance null-1dlop-dgop-do=>cmp-d-ls-d-do.1)))))


(defthm equal-face-kenzo-eat/1
  (implies (and (natp d)
		(natp dgop))
	   (equal (list (1dlop-dgop d dgop) gmsm)
		  (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			gmsm))))
  
(defthm equal-face-kenzo-eat/2
  (implies (and (natp d)
		(natp dgop))
	   (equal (list (1dlop-dgop d dgop) gmsm)
		  (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm))))
  

(defthm equal-face-kenzo-eat/3
  (implies (and (natp d)
		(natp dgop))
	   (equal (list (1dlop-dgop d dgop) (face sc (real-1dlop-dgop-do d dgop) gmsm))
		  (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm))))
  )



(defthm equal-face-kenzo-eat/4
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (equal (face-kenzo sc d dgop gmsm)
		  (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm)
		  ))
  )



(defthm equal-face-kenzo-eat/5
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (equal (face-eat sc d (dgop-int-ext dgop) gmsm)
		  (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm))
		  )
  :hints (("Goal" :do-not-induct t
	   :use ((:instance 1dlop-dgop-do=>null-cmp-d-ls-d-do)
		 (:instance face-eat (ls (dgop-int-ext dgop)))))))

;;;-----------------------
;;; Change of domain
;;;-----------------------

(defun dgn->dgb-car (absm)
  (cons (dgn->dgb (car absm)) (cdr absm)))

(defun dgb->dgn-car (absm)
  (cons (dgb->dgn (car absm)) (cdr absm)))

(defun dgop-int-ext-car (absm)
  (cons (dgop-int-ext (car absm)) (cdr absm)))

(defun dgop-ext-int-car (absm)
  (cons (dgop-ext-int (car absm)) (cdr absm)))

;; Properties

(defthm dgb-p=>dgb-p-cdr
  (implies (dgb-p dgop)
	   (dgb-p (cdr dgop))))

(defthm dgb->dgn-dgn->dgb-car
  (implies (and (dgb-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgn->dgb-car (dgb->dgn-car absm))
		  absm)
	   ))

(defthm dgn->dgb-dgb->dgn-car
  (implies (and (natp (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgb->dgn-car (dgn->dgb-car absm))
		  absm)
	   ))

(defthm dgop-ext-int-dgop-int-ext-car
  (implies (and (dgl-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-int-ext-car (dgop-ext-int-car absm))
		  absm)
	   ))

(defthm dgop-int-ext-dgop-ext-int-car
  (implies (and (natp (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-ext-int-car (dgop-int-ext-car absm))
		  absm)
	   ))


(defun dgb->dgl-car (absm)
  (cons (dgb->dgl (car absm)) (cdr absm)))


(defun dgl->dgb-car (absm)
  (cons (dgl->dgb (car absm)) (cdr absm)))

(defthm dgb->dgl-dgl->dgb-car
  (implies (and (dgl-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgb->dgl-car (dgl->dgb-car absm))
		  absm)
	   ))

(defthm dgl->dgb-dgb->dgl-car
  (implies (and (dgb-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgl->dgb-car (dgb->dgl-car absm))
		  absm)
	   ))


(defthm dgop-ext-int-car=dgl->dgb->dgn-car
  (implies (and (dgl-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-ext-int-car absm)
		  (dgb->dgn-car (dgl->dgb-car absm))
		  )
	   ))

(defthm dgop-int-ext-car=dgn->dgb->dgl-car
  (implies (and (natp (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-int-ext-car absm)
		  (dgb->dgl-car (dgn->dgb-car absm)))
	   ))


(defthm dgl-p-car-dgop-ext-int-car
  (implies (and (natp (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (dgl-p (car (dgop-int-ext-car absm)))))


(defthm list-dgop-ext-int-car
  (implies (and (natp (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-int-ext-car absm)
		  (list (car (dgop-int-ext-car absm)) 
			(cadr (dgop-int-ext-car absm))))))



(defthm natp-p-car-dgop-ext-int-car
  (implies (and (dgl-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (natp (car (dgop-ext-int-car absm)))))


(defthm list-dgop-int-ext-car
  (implies (and (dgl-p (car absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-ext-int-car absm)
		  (list (car (dgop-ext-int-car absm)) 
			(cadr (dgop-ext-int-car absm))))))

(defthm natp-dgb->dgn-dgl->dgb-list-i
  (implies (natp i)
	   (natp (dgb->dgn (dgl->dgb (list i)))))) 


;;;-----------------------


(defthm equal-face-kenzo-eat/6a
	   (equal (dgop-ext-int-car (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm) )
		  (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm))
		  
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable 1dlop-dgop-do)
	     :use ((:instance dgop-ext-int-car
			    (absm (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm))
			    )
		 ))))

(defthm dgop-ext-int-car-equal 
  (implies (equal a b)
	   (equal (dgop-ext-int-car a)
		  (dgop-ext-int-car b))))


(defthm equal-face-kenzo-eat/6b
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (equal (dgop-ext-int-car (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm) )
		  (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
		  )
   :hints (("Goal" :do-not-induct t
	   :use ((:instance equal-face-kenzo-eat/5)
		 (:instance dgop-ext-int-car-equal
			    (a (face-eat sc d (dgop-int-ext dgop) gmsm))
			    (b (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm)))
		 
		 )))
  )


(defthm equal-face-kenzo-eat/6c
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (equal (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm))
		  (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm))
		  )
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable 1dlop-dgop-do)
	   :use ((:instance equal-face-kenzo-eat/6b)
		 (:instance equal-face-kenzo-eat/6a)
		 (:instance equal-equal
			    (a (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
			    (b (dgop-ext-int-car (list (cmp-d-ls d (dgop-int-ext dgop))
			gmsm) ))
			    (c (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm))
			    )
		 ))))


(defthm equal-face-kenzo-eat/6
  (implies (and (natp d)
		(natp dgop)
		(1dlop-dgop-do d dgop))
	   (equal (face-kenzo sc d dgop gmsm)
		  (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
		  )
   :hints (("Goal" :do-not-induct t
	   :use ((:instance equal-face-kenzo-eat/4)
		 (:instance equal-face-kenzo-eat/6c)
		 (:instance equal-equal-2
			    (a (face-kenzo sc d dgop gmsm))
			    (b (list (dgop-ext-int (cmp-d-ls d (dgop-int-ext dgop)))
			gmsm))
			    (c (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm))))
		 )))
  )



(defthm equal-face-kenzo-eat/7
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (face-kenzo sc d dgop gmsm)
		  (list (1dlop-dgop d dgop)(face sc (real-1dlop-dgop-do d dgop) gmsm) )
		  ))
  :hints (("Goal" :do-not-induct t
	   :use ((:instance face-kenzo))))
  )

(defthm equal-face-kenzo-eat/8
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (face-kenzo sc d dgop gmsm)
		  (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm))
		  ))
  :hints (("Goal" :do-not-induct t
	   :use ((:instance equal-face-kenzo-eat/7)
		 (:instance equal-face-kenzo-eat/3)
		 (:instance equal-equal
			    (a (face-kenzo sc d dgop gmsm))
			    (b (list (1dlop-dgop d dgop) (face sc (real-1dlop-dgop-do d dgop) gmsm)))
			    (c (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))))))
  )


(defthm equal-face-kenzo-eat/9
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (face-eat sc d (dgop-int-ext dgop) gmsm)
		  (list (cmp-d-ls d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
		  )
  :hints (("Goal" :do-not-induct t
	   :use ((:instance null-1dlop-dgop-do=>cmp-d-ls-d-do)
		 (:instance face-eat (ss sc) (ls (dgop-int-ext dgop)))))))

(defthm equal-face-kenzo-eat/9a
  (equal (list (cmp-d-ls d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm))
	 (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
		  
  :hints (("Goal" :do-not-induct t
	   :use ((:instance cmp-d-ls-cmp-d-ls-induct (i d)
			    (ls (dgop-int-ext dgop)))))))

(defthm equal-face-kenzo-eat/9-b
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (face-eat sc d (dgop-int-ext dgop) gmsm)
		  (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
		  )
  :hints (("Goal" :do-not-induct t
	   :use ((:instance equal-face-kenzo-eat/9)
		 (:instance equal-face-kenzo-eat/9a)
		 (:instance equal-equal
			    (a (face-eat sc d (dgop-int-ext dgop) gmsm))
			    (b (list (cmp-d-ls d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
			    (c (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm))))))))



(defthm equal-face-kenzo-eat/9c
	   (equal (dgop-ext-int-car (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)) )
		  (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
		  
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable 1dlop-dgop-do)
	   :use ((:instance dgop-ext-int-car
			    (absm (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
			    )
		 ))))



(defthm equal-face-kenzo-eat/9d
  (implies (and  (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm))
		  (dgop-ext-int-car (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)) )
		  ))
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable 1dlop-dgop-do)
	   :use ((:instance equal-face-kenzo-eat/9-b)
		 (:instance dgop-ext-int-car-equal
			    (a (face-eat sc d (dgop-int-ext dgop) gmsm))
			    (b (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm))))
		 ))))


(defthm equal-face-kenzo-eat/9e
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm))
		  (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
		  )
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable 1dlop-dgop-do)
	   :use ((:instance equal-face-kenzo-eat/9d)
		 (:instance equal-face-kenzo-eat/9c)
		 (:instance equal-equal
			    (a (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
			    (b (dgop-ext-int-car (list (cmp-d-ls-induct d (dgop-int-ext dgop))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)) ))
			    (c (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
			    )
		 ))))

(defthm equal-face-kenzo-eat/10
  (implies (and (natp d)
		(natp dgop)
		(null (1dlop-dgop-do d dgop)))
	   (equal (face-kenzo sc d dgop gmsm)
		  (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
		  )
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable DGOP-EXT-INT-CAR-EQUAL)
	   :use ((:instance equal-face-kenzo-eat/9e)
		 (:instance equal-face-kenzo-eat/8)
		 (:instance equal-equal-2
			    (a (face-kenzo sc d dgop gmsm))
			    (b (list (dgop-ext-int (cmp-d-ls-induct d (dgop-int-ext dgop)))
			(face sc (cmp-d-ls-d-do d (dgop-int-ext dgop)) gmsm)))
			    (c (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm))))))))

(defthm or-null-or-not-nul
  (or (null (1dlop-dgop-do d dgop))
      (1dlop-dgop-do d dgop))
  :rule-classes nil)

(defthm equal-face-kenzo-eat
  (implies (and (natp d)
		(natp dgop))
	   (equal (face-kenzo sc d dgop gmsm)
		  (dgop-ext-int-car (face-eat sc d (dgop-int-ext dgop) gmsm)))
		  )
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable DGOP-EXT-INT-CAR-EQUAL)
	   :use ((:instance or-null-or-not-nul)
		 (:instance equal-face-kenzo-eat/10)
		 (:instance equal-face-kenzo-eat/6)
		 ))))

(defthm imp-equal-face-kenzo-eat
  (implies (and (natp d)
		(natp (car absm)))
	   (equal (imp-face-kenzo sc d q absm)
		  (dgop-ext-int-car (imp-face-eat sc d q (dgop-int-ext-car absm)))
		  ))
  :hints (("Goal" :do-not-induct t
	   :in-theory (disable DGOP-EXT-INT-CAR-EQUAL
			       face-kenzo face-eat)
	   :use ((:instance equal-face-kenzo-eat
			    (dgop (car absm))
			    (gmsm (cadr absm))))
		 )))




;;;----------------------------
;;; degeneracy
;;;----------------------------

(defthm equal-degeneracy/1
  (implies (and (natp (car absm))
		(natp d))
	   (equal (imp-degeneracy-kenzo n d q absm)
		  (list (dgb->dgn (dgb*dgb (dgl->dgb (list d))
					   (dgn->dgb (car absm))))
			(cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance dgop*dgop-dgb*dgb
			  (dgn1 (dgb->dgn (dgl->dgb (list d))))
			  (dgn2 (car absm)))))))


(defthm equal-degeneracy/2
  (implies (and (natp (car absm))
		(natp d))
	   (equal (imp-degeneracy-kenzo n d q absm)
		  (list (dgop-ext-int (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm))))
			(cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance dgop*dgop-cmp-ls-ls
			  (dgn1 (dgb->dgn (dgl->dgb (list d))))
			  (dgn2 (car absm)))))))


(defthm equal-degeneracy/3
  (implies (and (natp (car absm))
		(natp d))
	   (equal (dgop-ext-int-car (list (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm)))
					  (cadr absm)))
		  (list (dgop-ext-int (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm))))
			(cadr absm))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance dgop-ext-int-car
			    (absm (list (dgop-ext-int (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm))))
			(cadr absm)))
			    )))))

(defthm equal-degeneracy/4
  (implies (and (natp (car absm))
		(natp d))
	   (equal (degeneracy-eat d (dgop-int-ext (car absm)) (cadr absm))
		  (list (cmp-s-ls d
				   (dgop-int-ext (car absm)))
			(cadr absm))
		  ))
)

(defthm equal-degeneracy/5
  (implies (and (natp (car absm))
		(natp d))
	   (equal (degeneracy-eat d (dgop-int-ext (car absm)) (cadr absm))
		  (list (cmp-ls-ls (list d)
				   (dgop-int-ext (car absm)))
			(cadr absm))
		  ))
)

(defthm equal-degeneracy/6
  (implies (and (natp (car absm))
		(natp d))
	   (equal (imp-degeneracy-eat sc d q (dgop-int-ext-car absm))
		  (list (cmp-ls-ls (list d)
				   (dgop-int-ext (car absm)))
			(cadr absm))
		  ))
)



(defthm equal-degeneracy/7
  (implies (and (natp (car absm))
		(natp d))
	   (equal (imp-degeneracy-kenzo n d q absm)
	    (dgop-ext-int-car (list (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm)))
					  (cadr absm)))
		  ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance equal-degeneracy/2)
	       (:instance equal-degeneracy/3)
	       (:instance equal-equal
			  (a (imp-degeneracy-kenzo n d q absm))
			  (b (list (dgop-ext-int (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm))))
				   (cadr absm)))
			  (c (dgop-ext-int-car (list (cmp-ls-ls (list d)
					   (dgop-int-ext (car absm)))
					  (cadr absm)))))))))


(defthm equal-degeneracy/8
  (implies (and (natp (car absm))
		(natp d))
	   (equal (dgop-ext-int-car (imp-degeneracy-eat sc d q (dgop-int-ext-car absm)))
		  (dgop-ext-int-car(list (cmp-ls-ls (list d)
				   (dgop-int-ext (car absm)))
			(cadr absm))
		  ))
))


(defthm equal-degeneracy
  (implies (and (natp (car absm))
		(natp d))
	   (equal (imp-degeneracy-kenzo sc d q absm)
		  (dgop-ext-int-car (imp-degeneracy-eat sc d q (dgop-int-ext-car absm)))
		  )
)
:hints (("Goal" :do-not-induct t
	 :use ((:instance equal-degeneracy/7)
	       (:instance equal-degeneracy/8)
	       (:instance equal-equal
			  (a (imp-degeneracy-kenzo sc d q absm))
			  (b (dgop-ext-int-car(list (cmp-ls-ls (list d)
				   (dgop-int-ext (car absm)))
						    (cadr absm))))
			  (c (dgop-ext-int-car (imp-degeneracy-eat sc d q (dgop-int-ext-car absm)))))))))


;;;************************************************************
;;;
;;; Property 1 
;;;
;;;************************************************************

;;;----------------
;;; previous help
;;;----------------

(defthm list-imp-face
  (equal (imp-face-eat sc d q a)
	 (list (car (imp-face-eat sc d q a))
	       (cadr (imp-face-eat sc d q a)))))

(defthm list-imp-degeneracy
  (equal (imp-degeneracy-eat n d q a)
	 (list (car (imp-degeneracy-eat n d q a))
	       (cadr (imp-degeneracy-eat n d q a) ))))

(defthm dgl-p-face
  (implies (and (natp d)
		(dgl-p (car absm)))
	   (dgl-p (car (face-eat sc d (car absm) (cadr absm)))))
:hints (("Goal" :use ((:instance dgl-p-cmp-d-ls
				 (dgl (car absm))
				 (n d)))))

)

(defthm dgl-p-imp-face
  (implies (and (natp d)
		(dgl-p (car absm)))
	   (dgl-p (car (imp-face-eat sc d q absm))))
:hints (("Goal" :use ((:instance dgl-p-cmp-d-ls
				 (dgl (car absm))
				 (n d)))))
)

(defthm dgl-p-imp-degeneracy
  (implies (and (natp d)
		(dgl-p (car absm)))
	   (dgl-p (car (imp-degeneracy-eat sc d q absm))))
:hints (("Goal" :use ((:instance dgl-p-cmp-s-ls
				 (dgl (car absm))
				 (n d)))))
)


;;;----------------

(in-theory (disable list-dgop-int-ext-car
		    list-dgop-ext-int-car))

(defthm kenzo-property-1-1
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm)))
	   (equal (imp-face-kenzo sc (- j 1) (- q 1) 
				 (imp-face-kenzo sc i q absm))
		  (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1) (dgop-int-ext-car 
						 (dgop-ext-int-car (imp-face-eat sc i q (dgop-int-ext-car absm))))
)))))



(defthm kenzo-property-1-3
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm)))
	   (equal (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm))
		  (dgop-ext-int-car (imp-face-eat sc i (- q 1) (dgop-int-ext-car 
						 (dgop-ext-int-car (imp-face-eat sc j q (dgop-int-ext-car absm))))
))))
)

(defthm kenzo-property-1-4
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm)))
	   (equal (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm))
		  (dgop-ext-int-car (imp-face-eat sc i (- q 1)
						 (imp-face-eat sc j q (dgop-int-ext-car absm))
)))))


(defthm kenzo-property-1-5
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(dgl-p (car (dgop-int-ext-car absm)))
		(canonical  (cadr (dgop-int-ext-car absm)))
		)
	   (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm)))
		  (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm)))))
	   
:hints (("Goal" :do-not-induct t
	 :use ((:instance property1
			  (absm (dgop-int-ext-car absm)))))))


(defthm kenzo-property-1-6
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm)))
		
		(canonical  (cadr (dgop-int-ext-car absm)))
		)
	   (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm)))
		  (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm)))))
	   
:hints (("Goal" :do-not-induct t
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance kenzo-property-1-5)
))))

(defthm implies-canonical
  (implies (canonical (cadr absm))
	   (canonical (cadr (dgop-int-ext-car absm)))))

(defthm kenzo-property-1-7
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm)))
		  (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm)))))
	   
:hints (("Goal" :do-not-induct t
	 :use ((:instance implies-canonical)
	       (:instance kenzo-property-1-6)
))))


(defthm equal-dgop-ext-int-car
  (implies (equal a b)
	   (equal (dgop-ext-int-car a)
		  (dgop-ext-int-car b)))
  :rule-classes nil)

(defthm kenzo-property-1-8
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm))))
		  (dgop-ext-int-car (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm))))))
:hints (("Goal" :do-not-induct t
	 :use ((:instance kenzo-property-1-7)
	       (:instance equal-dgop-ext-int-car
			  (a (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm))))
			  (b (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm)))))
))))


(defthm kenzo-property-1-9
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm))
	    (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm))))
		  ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance kenzo-property-1-8)
	       (:instance kenzo-property-1-4)
	       (:instance equal-equal
			  (a (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm)))
			  (b (dgop-ext-int-car (imp-face-eat sc i (- q 1) (imp-face-eat sc j q (dgop-int-ext-car absm)))))
			  (c (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm))))))
))))

(defthm kenzo-property-1-2
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (imp-face-kenzo sc (- j 1) (- q 1) 
				 (imp-face-kenzo sc i q absm))
		  (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1)
						 (imp-face-eat sc i q (dgop-int-ext-car absm))
)))))

(defthm kenzo-property-1
  (implies (and (< i j) (natp i) (natp j) (natp (car absm))
		(canonical (cadr absm))
		(equal absm (list (car absm) (cadr absm))))
	   (equal (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm))
		  (imp-face-kenzo sc (- j 1) (- q 1) 
				 (imp-face-kenzo sc i q absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :use ((:instance kenzo-property-1-9)
	       (:instance kenzo-property-1-2)
	       (:instance equal-equal-2
			  (a (imp-face-kenzo sc i (- q 1) 
				 (imp-face-kenzo sc j q absm)))
			  (b (dgop-ext-int-car (imp-face-eat sc (- j 1) (- q 1) (imp-face-eat sc i q (dgop-int-ext-car absm)))))
			  (c (imp-face-kenzo sc (- j 1) (- q 1) 
				 (imp-face-kenzo sc i q absm))))
))))


;;;************************************************************
;;;
;;; Property 2
;;;
;;;************************************************************

(in-theory (disable list-imp-degeneracy
		    DGOP-EXT-INT-CAR-EQUAL))

(defthm kenzo-property-2-1
  (implies (and (<= i j)
		(natp i)
		(natp j)
		(natp (car absm)))
	   (equal (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (imp-degeneracy-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable imp-degeneracy-kenzo
			     imp-degeneracy-eat)
	 :use ((:instance equal-degeneracy
			  (d j) ))))
)



(defthm kenzo-property-2-2
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))
		)
	   (equal (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo)
	 :use ((:instance kenzo-property-2-1)
	       (:instance equal-degeneracy
			  (d i)
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))))
)

(defthm dgn->dgb->dgl-p
  (implies (natp dgop)
	   (dgl-p (dgb->dgl (dgn->dgb dgop)))))


(defthm natp-dop-ext-int
  (implies (dgl-p dgop)
	   (natp (dgop-ext-int dgop))))


(defthm dgop-ext-int-cmp-s-ls-induct
  (implies (and (natp dgop) (natp j))
	   (natp (dgop-ext-int (cmp-s-ls-induct j (dgb->dgl (dgn->dgb dgop))
						))))
  :hints (("Goal" :do-not-induct t 
	   :use ((:instance dgn->dgb->dgl-p)
		 (:instance dgl-p-cmp-s-ls (dgl (dgb->dgl (dgn->dgb dgop)))
			    (n j))
		 (:instance natp-dop-ext-int (dgop (cmp-s-ls-induct j (dgb->dgl (dgn->dgb dgop))
						))
			    )))))
	        			

(defthm car-dgop-ext-int-car-deg
  (implies (and (natp (car absm)) (natp j))
	   (natp (car (dgop-ext-int-car 
		       (imp-degeneracy-eat n j q 
				       (dgop-int-ext-car absm)))))))


(defthm  kenzo-property-2-3
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		)
	   (equal (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo)
	 :use ((:instance car-dgop-ext-int-car-deg )
	       (:instance kenzo-property-2-2)
	       )))
)




(defthm kenzo-property-2-4
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n i (1+ q)
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo )
	 :use ((:instance kenzo-property-2-3)
	       (:instance list-imp-degeneracy (d j)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgl-p-imp-degeneracy
			  (sc n) (d j) (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))))
	       )))
)




(defthm kenzo-property-2-5
  (implies (and (<= i j)
		(natp j)	
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (1+ j) (1+ q)
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo
			     )
	 :use ((:instance kenzo-property-2-4)
	       (:instance property2 (sc n) (absm (dgop-int-ext-car absm)))
	       )))
)



(defthm kenzo-property-2-6
  (implies (and (<= i j)
		(natp i)
		(natp j)
		(natp (car absm)))
	   (equal (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm))
		  (imp-degeneracy-kenzo n (1+ j) (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable imp-degeneracy-kenzo
			     imp-degeneracy-eat)
	 :use ((:instance equal-degeneracy
			  (d i) ))))
)



(defthm kenzo-property-2-7
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
		)
	   (equal (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (1+ j) (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo)
	 :use ((:instance kenzo-property-2-6)
	       (:instance equal-degeneracy
			  (d (1+ j))
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
)

					


(defthm kenzo-property-2-8
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		)
	   (equal (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (1+ j) (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo)
	 :use ((:instance car-dgop-ext-int-car-deg (j i))
	       (:instance kenzo-property-2-7)
	       )))
)


(defthm kenzo-property-2-9
  (implies (and (<= i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (1+ j) (1+ q)
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo )
	 :use ((:instance kenzo-property-2-8)
	       (:instance list-imp-degeneracy (d i)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgl-p-imp-degeneracy
			  (sc n) (d i) (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))))
	       )))
)




(defthm kenzo-property-2
  (implies (and (<= i j)
		(natp j)	
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm))
		  (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-degeneracy-eat imp-degeneracy-kenzo
			     )
	 :use ((:instance kenzo-property-2-9)
	       (:instance kenzo-property-2-5)
	       (:instance equal-equal-2
			  (a (imp-degeneracy-kenzo n (1+ j) (1+ q) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-degeneracy-eat n (1+ j) (1+ q)
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (c (imp-degeneracy-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))))
	       )))
)


;;;************************************************************
;;;
;;; Property 3
;;;
;;;************************************************************

(defthm imp-kenzo-face-equal-sc
  (implies (equal a b)
	   (equal (imp-face-kenzo n d q a)
		  (imp-face-kenzo n d q b))))

(defthm kenzo-property-3-1
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n j q absm))
		  (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance equal-degeneracy
			  (sc n) (d j))
	       (:instance imp-kenzo-face-equal-sc
			  (d i)
			  (q (+ q 1))
			  (a (imp-degeneracy-kenzo n j q absm))
			  (b (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))))))


(defthm kenzo-property-3-2
  (implies (and (natp i)
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop imp-face-eat imp-face-kenzo
			     dgop-ext-int-car dgop-int-ext-car
			     list-imp-face)
	 :use ((:instance imp-equal-face-kenzo-eat
			  (d i)
			  (q (+ q 1))
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-3-3
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (natp (car (dgop-ext-int-car
		       (imp-degeneracy-eat n j q (dgop-int-ext-car absm))
				  ))))
  :hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance dgl-p-imp-degeneracy
			  (sc n)
			  (d j)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d j)
			  (a (dgop-int-ext-car absm)))
	       (:instance natp-p-car-dgop-ext-int-car
			  (absm (imp-degeneracy-eat n j q (dgop-int-ext-car absm))))))))
					

(defthm kenzo-property-3-4
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q (dgop-int-ext-car absm))				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-3)
	       (:instance kenzo-property-3-2)))))

(defthm natp-j-natp-i-i<j=>natp-j-1
  (implies (and (natp i)
		(natp j)
		(< i j))
	   (natp (- j 1))))

(defthm kenzo-property-3-5
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-int-ext-car (dgop-ext-int-car
				     (imp-degeneracy-eat n j q
					       (dgop-int-ext-car absm))
				  
		  ))
		  (imp-degeneracy-eat n j q
			    (dgop-int-ext-car absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop 	 dgop-ext-int-car
			     list-dgop-ext-int-car
			     
			    )
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance dgl-p-imp-degeneracy
			  (d j)
			  (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d j)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-degeneracy-eat n j q
					       (dgop-int-ext-car absm))))
	       )))
)

(defthm dgop-ext-int-car-imp-face-equal
  (implies (equal a b)
	   (equal (dgop-ext-int-car (imp-face-eat n d q a))
		  (dgop-ext-int-car (imp-face-eat n d q b))
				 )))

(defthm kenzo-property-3-6
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop 
			      dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-5)
	       (:instance dgop-ext-int-car-imp-face-equal
			  (d i)
			  (q (+ q 1))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))))
	       )))
)


(defthm  kenzo-property-3-7
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-4)
	       (:instance kenzo-property-3-6)
	       (:instance equal-equal
			  (a (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
				  )))))
			  (c (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))))))
)


(defthm kenzo-property-3-8
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n i q absm)
		  (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop-ext-int-car
			     dgop-int-ext-car)
	 :use ((:instance imp-equal-face-kenzo-eat
			  (sc n)
			  (d i)
			  )
	       )))
)

(defthm imp-kenzo-deg-equal
  (implies (equal a b)
	   (equal (imp-degeneracy-kenzo n d q a)
		  (imp-degeneracy-kenzo n d q b))))



(defthm kenzo-property-3-9
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm))
		  (imp-degeneracy-kenzo n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance kenzo-property-3-8)
	       (:instance imp-kenzo-deg-equal
			  (d (- j 1))
			  (q (- q 1))
			  (a (imp-face-kenzo n i q absm))
			  (b (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-3-10
  (implies (and (natp i)
		(natp j)
		(< i j)
		(natp (car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car dgop-ext-int-car)
	 :use ((:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance equal-degeneracy
			  (d (- j 1))
			  (q (- q 1))
			  (sc n)
			  (absm (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))





(defthm kenzo-property-3-11
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (natp (car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))))))
  :hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance dgl-p-imp-face
			  (d i) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-face
			  (d i) (sc n)
			  (a (dgop-int-ext-car absm)))
	       (:instance natp-p-car-dgop-ext-int-car
			  (absm (imp-face-eat n i q
						  (dgop-int-ext-car absm))))))))
					



(defthm kenzo-property-3-12
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-11)
	       (:instance kenzo-property-3-10)))))



(defthm kenzo-property-3-13
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-int-ext-car (dgop-ext-int-car
				     (imp-face-eat n i q
					       (dgop-int-ext-car absm))
				  
		  ))
		  (imp-face-eat n i q
			    (dgop-int-ext-car absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     
			    )
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance dgl-p-imp-face
			  (d i) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-face
			  (d i) (sc n)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-face-eat n i q
					       (dgop-int-ext-car absm))))
	       )))
)


(defthm dgop-ext-int-car-imp-degeneracy-equal
  (implies (equal a b)
	   (equal (dgop-ext-int-car (imp-degeneracy-eat n d q a))
		  (dgop-ext-int-car (imp-degeneracy-eat n d q b)))))

(defthm kenzo-property-3-14
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-13)
	       (:instance dgop-ext-int-car-imp-degeneracy-equal
			  (d (- j 1))
			  (q (- q 1))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-face-eat n i q
						  (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-3-15
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car
			    )
	 :use ((:instance kenzo-property-3-14)
	       (:instance kenzo-property-3-12)
	       (:instance equal-equal
			  (a (imp-degeneracy-kenzo n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))))
			  (c (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       
	       )))
)


(defthm kenzo-property-3-16
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-3-9)
	       (:instance kenzo-property-3-15)
	       (:instance equal-equal 
			  (a (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm)))
			  (b (imp-degeneracy-kenzo  n (- j 1) (- q 1)
				 (dgop-ext-int-car
				  (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (c (dgop-ext-int-car (imp-degeneracy-eat n (- j 1) (- q 1)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)

(defthm kenzo-property-3-16a
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n (1- j) (1- q)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-3-16)
	       )))
)


(defthm kenzo-property-3-17
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-degeneracy-eat n (1- j) (1- q)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
					      ))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance  dgl-p-car-dgop-ext-int-car)
	       (:instance property-3 (sc n) (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-car-equal
			  (a (imp-degeneracy-eat n (1- j) (1- q)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
				 ))
			  (b (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	       ))) 
)


(defthm kenzo-property-3-18
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-3-16a)
	       (:instance kenzo-property-3-17)
	       (:instance equal-equal
			  (a (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-degeneracy-eat n (1- j) (1- q)
					      (imp-face-eat n i q
						  (dgop-int-ext-car absm))
					      )))
			  (c (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
	       ))) 
)


(defthm  kenzo-property-3-19
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal 
	    (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n j q absm))
	    
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-1)
	       (:instance kenzo-property-3-7)
	       (:instance equal-equal
			  (a (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n j q absm)))
			  (b (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (c (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))))))
)

(defthm  kenzo-property-3-20
  (implies (and (< i j)
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal 
	    (imp-face-kenzo n i (+ q 1) 
			       (imp-degeneracy-kenzo n j q absm))
	    
	    (dgop-ext-int-car (imp-face-eat n i (1+ q)
					   (imp-degeneracy-eat n j q
							      (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-3-19)
	        )))
)



(defthm kenzo-property-3
  (implies (and (< i j)
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm))
		  (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n j q absm))
		  ))
:hints (("Goal" :do-not-induct t
	  :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car)
	 :use ((:instance kenzo-property-3-20)
	       (:instance kenzo-property-3-18)
	       (:instance equal-equal-2
			  (a (imp-degeneracy-kenzo n (- j 1) (- q 1) 
				 (imp-face-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
			  (c (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n j q absm))))
	       ))) 
)


;;;************************************************************
;;;
;;; Property 4
;;;
;;;************************************************************

(defthm kenzo-property-4-1
  (implies (and (natp i)
		(natp (car absm)))
	   (equal (imp-degeneracy-kenzo n i q absm)
		  (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable  dgop-ext-int-car
			     
			     dgop-int-ext-car
			     )
	 :use ((:instance equal-degeneracy
			  (d i)
			  ))))
)


(defthm kenzo-property-4-2
  (implies (and (natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car)
	 :use ((:instance kenzo-property-4-1)
	       (:instance imp-kenzo-face-equal-sc
			  (d i)
			  (q (+ q 1))
			  (a (imp-degeneracy-kenzo n i q absm))
			  (b (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-4-3
  (implies (and (natp i)
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop 
			     dgop-ext-int-car dgop-ext-int-car)
	 :use ((:instance imp-equal-face-kenzo-eat
			  (sc n)
			  (d i)
			  (q (+ q 1))
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-4-4
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (natp (car (dgop-ext-int-car
		       (imp-degeneracy-eat n i q (dgop-int-ext-car absm))
				  ))))
  :hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance dgl-p-imp-degeneracy
			  (d i) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d i) 
			  (a (dgop-int-ext-car absm)))
	       (:instance natp-p-car-dgop-ext-int-car
			  (absm (imp-degeneracy-eat n i q (dgop-int-ext-car absm))))))))
					

(defthm kenzo-property-4-5
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q (dgop-int-ext-car absm))				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-4)
	       (:instance kenzo-property-4-3)))))



(defthm kenzo-property-4-6
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-int-ext-car (dgop-ext-int-car
				     (imp-degeneracy-eat n i q
					       (dgop-int-ext-car absm))
				  
		  ))
		  (imp-degeneracy-eat n i q
			    (dgop-int-ext-car absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     
			    )
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance dgl-p-imp-degeneracy
			  (d i) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d i)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-degeneracy-eat n i q
					       (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-4-7
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-6)
	       (:instance dgop-ext-int-car-imp-face-equal
			  (d i)
			  (q (+ q 1))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-4-8
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-7)
	       (:instance kenzo-property-4-5)
	       (:instance equal-equal
			  (a (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-face-eat n i (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))))
			  (c (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       
	       )))
)


(defthm kenzo-property-4-9
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-2)
	       (:instance kenzo-property-4-8)
	       (:instance equal-equal 
			  (a (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (imp-face-kenzo n i (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (c (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)




(defthm kenzo-property-4-10
  (implies (and (natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance kenzo-property-4-1)
	       (:instance imp-kenzo-face-equal-sc
			  (d (1+ i))
			  (q (+ q 1))
			  (a (imp-degeneracy-kenzo n i q absm))
			  (b (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-4-11
  (implies (and (natp i)
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop 
			     dgop-ext-int-car dgop-ext-int-car)
	 :use ((:instance imp-equal-face-kenzo-eat
			  (sc n)
			  (d (1+ i))
			  (q (+ q 1))
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))))))


					

(defthm kenzo-property-4-12
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q (dgop-int-ext-car absm))				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-4)
	       (:instance kenzo-property-4-11)))))




(defthm kenzo-property-4-13
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-6)
	       (:instance dgop-ext-int-car-imp-face-equal
			  (d (1+ i))
			  (q (+ q 1))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-4-14
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-4-13)
	       (:instance kenzo-property-4-12)
	       (:instance equal-equal
			  (a (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))))
			  (c (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       
	       )))
)


(defthm kenzo-property-4-15
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-10)
	       (:instance kenzo-property-4-14)
	       (:instance equal-equal 
			  (a (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (imp-face-kenzo n (1+ i) (+ q 1)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (c (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)



(defthm kenzo-property-4-16
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
		  (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance  dgl-p-car-dgop-ext-int-car)
	       (:instance property-4
			  (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-car-equal
			  (a (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
			  (b (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
			  )
	       )))
)




(defthm kenzo-property-4-17
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-16)
	       (:instance kenzo-property-4-15)
	       (:instance equal-equal 
			  (a (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-face-eat n (1+ i) (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
			  (c (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)


(defthm kenzo-property-4-18
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
		  (dgop-ext-int-car (dgop-int-ext-car absm))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance property-4-a
			  (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-car-equal
			  (a (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
			  (b (dgop-int-ext-car absm))
			  )
	       )))
)

(defthm kenzo-property-4-19
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 ))
		  absm))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-18)
	       (:instance dgop-int-ext-dgop-ext-int-car)  
	       (:instance equal-equal
			  (a (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
			  (b (dgop-ext-int-car (dgop-int-ext-car absm)))
			  (c absm))
	       )))
)



(defthm kenzo-property-4
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		 (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)) ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-17)
	       (:instance kenzo-property-4-9)
	       (:instance equal-equal 
			  (a (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
			  (c (imp-face-kenzo n i (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))))
	       )))
)


(defthm kenzo-property-4-a
  (implies (and (natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm))
		  absm))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-4-19)
	       (:instance kenzo-property-4-17)
	       (:instance equal-equal
			  (a (imp-face-kenzo n (1+ i) (+ q 1) 
				 (imp-degeneracy-kenzo n i q absm)))
			  (b (dgop-ext-int-car (imp-face-eat n i (+ q 1)
					      (imp-degeneracy-eat n i q
						  (dgop-int-ext-car absm))
				 )))
			  (c absm))
	       )))
)




;;;************************************************************
;;;
;;; Property 5
;;;
;;;************************************************************



(defthm kenzo-property-5-1
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm)))
	   (equal (imp-degeneracy-kenzo n j q absm)
		  (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable  dgop-ext-int-car
			     
			     dgop-int-ext-car
			      )
	 :use ((:instance equal-degeneracy
			  (d j)
			  ))))
)


(defthm kenzo-property-5-2
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car)
	 :use ((:instance kenzo-property-5-1)
	       (:instance imp-kenzo-face-equal-sc
			  (d i)
			  (q (1+ q))
			  (a (imp-degeneracy-kenzo n j q absm))
			  (b (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-5-3
  (implies (and (natp i)
		(natp (car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop 
			     dgop-ext-int-car dgop-ext-int-car)
	 :use ((:instance imp-equal-face-kenzo-eat
			  (sc n)
			  (d i)
			  (q (1+ q))
			  (absm (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-5-4
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (natp (car (dgop-ext-int-car
		       (imp-degeneracy-eat n j q (dgop-int-ext-car absm))
				  ))))
  :hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance dgl-p-imp-degeneracy
			  (d j) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d j)
			  (a (dgop-int-ext-car absm)))
	       (:instance natp-p-car-dgop-ext-int-car
			  (absm (imp-degeneracy-eat n j q (dgop-int-ext-car absm))))))))
					

(defthm kenzo-property-5-5
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q (dgop-int-ext-car absm))				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-4)
	       (:instance kenzo-property-5-3)))))



(defthm kenzo-property-5-6
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-int-ext-car (dgop-ext-int-car
				     (imp-degeneracy-eat n j q
					       (dgop-int-ext-car absm))
				  
		  ))
		  (imp-degeneracy-eat n j q
			    (dgop-int-ext-car absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car
			     
			    )
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance dgl-p-imp-degeneracy
			  (d j) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-degeneracy
			  (d j)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-degeneracy-eat n j q
					       (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-5-7
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-face-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-6 )
	       (:instance dgop-ext-int-car-imp-face-equal
			  (d i)
			  (q (1+ q))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))))
	       )))
)


(defthm kenzo-property-5-8
  (implies (and (> i (+ j 1))
		(natp j)		
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-7)
	       (:instance kenzo-property-5-5)
	       (:instance equal-equal
			  (a (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-face-eat n i (1+ q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
				  )))))
			  (c (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
	       
	       )))
)


(defthm kenzo-property-5-9
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-face-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop )
	 :use ((:instance kenzo-property-5-8)
	       (:instance kenzo-property-5-2)
	       (:instance equal-equal 
			  (a (imp-face-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm)))
			  (b (imp-face-kenzo n i (1+ q)
				 (dgop-ext-int-car
				  (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (c (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)

(defthm i>j+1=>natp-i
  (implies (and (natp i)
		(natp j)
		(> i (+ j 1)))
	   (natp (- i 1))))

(defthm kenzo-property-5-10
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm)))
	   (equal (imp-face-kenzo n (- i 1) q absm)
		  (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  )))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable  dgop-ext-int-car
			     dgop-int-ext-car)
	 :use ((:instance i>j+1=>natp-i)
	       (:instance imp-equal-face-kenzo-eat
			  (sc n)
			  (d (- i 1))
			  )
	       )))
)

(defthm  kenzo-property-5-11
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm))
		  (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp  dgop-ext-int-car)
	 :use ((:instance kenzo-property-5-10)
	       (:instance imp-kenzo-deg-equal
			  (d j)
			  (q (- q 1))
			  (a (imp-face-kenzo n (- i 1) q absm))
			  (b (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))	 
		  )))))))



(defthm kenzo-property-5-12 
  (implies (and (natp i)
		(natp j)
		(> i (+ j 1))
		(natp (car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm)))))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car dgop-ext-int-car)
	 :use ((:instance natp-j-natp-i-i<j=>natp-j-1)
	       (:instance equal-degeneracy
			  (sc n)
			  (d j)
			  (q (1- q))
			  (absm (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  )))))))



(defthm kenzo-property-5-13 
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (natp (car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))))))
  :hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car)
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance i>j+1=>natp-i)
	       (:instance dgl-p-imp-face
			  (d (- i 1)) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-face
			  (d (- i 1)) (sc n)
			  (a (dgop-int-ext-car absm)))
	       (:instance natp-p-car-dgop-ext-int-car
			  (absm (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))))))))
					



(defthm kenzo-property-5-14
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable natp dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-13)
	       (:instance kenzo-property-5-12)
	       ))))



(defthm kenzo-property-5-15 
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-int-ext-car (dgop-ext-int-car
				     (imp-face-eat n (- i 1) q
					       (dgop-int-ext-car absm))
				  
		  ))
		  (imp-face-eat n (- i 1) q
			    (dgop-int-ext-car absm))
		  ))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance dgl-p-car-dgop-ext-int-car)
	       (:instance list-dgop-ext-int-car)
	       (:instance i>j+1=>natp-i)
	       (:instance dgl-p-imp-face
			  (d (- i 1)) (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance list-imp-face
			  (d (- i 1)) (sc n)
			  (a (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-dgop-int-ext-car
			  (absm (imp-face-eat n (- i 1) q
					       (dgop-int-ext-car absm))))
	       )))
)



(defthm kenzo-property-5-16
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))))
		  (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-15)
	       (:instance dgop-ext-int-car-imp-degeneracy-equal
			  (d j)
			  (q (1- q))
			  (a (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  )))
			  (b (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))))
	       )))
)

(defthm kenzo-property-5-17
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  ))
		  (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 )))
	   )
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop  dgop-ext-int-car
			     list-dgop-ext-int-car
			     )
	 :use ((:instance kenzo-property-5-16)
	       (:instance kenzo-property-5-14)
	       (:instance equal-equal
			  (a (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (b (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
				 (dgop-int-ext-car (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
		  )))))
			  (c (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 ))))
	       
	       )))
)


(defthm kenzo-property-5-18
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm))
		  (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-5-11)
	       (:instance kenzo-property-5-17)
	       (:instance equal-equal 
			  (a (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm)))
			  (b (imp-degeneracy-kenzo n j (1- q)
				 (dgop-ext-int-car
				  (imp-face-eat n (- i 1) q
						  (dgop-int-ext-car absm))
				 
				  )))
			  (c (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)



(defthm kenzo-property-5-19
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 ))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance dgl-p-car-dgop-ext-int-car) 
	       (:instance property-5 (sc n)
			  (absm (dgop-int-ext-car absm)))
	       (:instance dgop-ext-int-car-equal
			  (a (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 ))
			  (b (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
	       )))
)

(defthm kenzo-property-5-20
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm))
		  (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-5-19)
	       (:instance kenzo-property-5-18)
	       (:instance equal-equal 
			  (a (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm)))
			  (b (dgop-ext-int-car (imp-degeneracy-eat n j (1- q)
					      (imp-face-eat n (- i 1)  q
						  (dgop-int-ext-car absm))
				 )))
			  (c (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 ))))
	       )))
)




(defthm kenzo-property-5
  (implies (and (> i (+ j 1))
		(natp j)
		(natp i)
		(natp (car absm))
		(equal absm (list (car absm) (cadr absm)))
		)
	   (equal (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm))
		  (imp-face-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))))
:hints (("Goal" :do-not-induct t
	 :in-theory (disable dgop*dgop)
	 :use ((:instance kenzo-property-5-20)
	       (:instance kenzo-property-5-9)
	       (:instance equal-equal-2 
			  (a (imp-degeneracy-kenzo n j (1- q) 
				 (imp-face-kenzo n (- i 1) q absm)))
			  (b (dgop-ext-int-car (imp-face-eat n i (1+ q)
					      (imp-degeneracy-eat n j q
						  (dgop-int-ext-car absm))
				 )))
			  (c (imp-face-kenzo n i (1+ q) 
				 (imp-degeneracy-kenzo n j q absm))))
	       )))
)




;;;----------------------------------------------------------------------------
;;; 
;;; Defining the generic theory:
;;;
;;;----------------------------------------------------------------------------


(include-book "generic-theory")


#|

(get-event-lst 
 '(
face-eat 
imp-face-eat
degeneracy-eat 
imp-degeneracy-eat 
face-kenzo 
imp-face-kenzo 
degeneracy-kenzo 
imp-degeneracy-kenzo
dgn->dgb-car
dgb->dgn-car
dgop-int-ext-car 
dgop-ext-int-car 
dgb->dgl-car 
dgl->dgb-car
equal-equal-2
property1/case-1.0
property1/case-1.1
property1/case-1.2
property1/case-1.3
property1/case-1.4
property1/case-1.5
property1/case-1.6
property1/case-1/1.0
property1/case-1/1.1
property1/case-1/1.2
property1/case-1/2.0
property1/case-1/2.1
property1/case-1/2.2
property1/case-1/3.0
property1/case-1/3.1
property1/case-1/3.2
property1/case-1/4.0
property1/case-1/4.1
property1/case-1/4.2
property1/case-1/5.0
property1/case-1/5.1
property1/case-1/5.2
property1/case-1/6.0
property1/case-1/6.1
property1/case-1/6.2
property1/case-1/7.2
property1/case-1/8.0
property1/case-1/8.1
property1/case-1/8.2
property1/case-1/8.3
property1/case-1/8.4
property1/case-1/8.5
property1/case-1/8.6
property1/case-1/2
property1/case-1
property1/case-2.0
property1/case-2.1
property1/case-2.2
property1/case-2.3
property1/case-2.4
property1/case-2.5
property1/case-2.6
natp-cmp-d-ls-d-do-j
property1/case-2.7
property1/case-2.8
property1/case-2.9
natp-cmp-d-ls-d-do-i-j
property1/case-2.10
property1/case-2.11
property1/case-2.12
property1/case-2
property1/case-3.1
property1/case-3.2
property1/case-3.3
property1/case-3.4
property1/case-3.5
property1/case-3.6
property1/case-3
property1/case-4.1
property1/case-4.2
property1/case-4.2-b
property1/case-4.3
property1/case-4.4
property1/case-4.5
property1/case-4.6
property1/case-4.7
property1/case-4.8
property1/case-4
property1
property2
property-3-a1
property-3-a
property-3-aux1
property-3-aux3
property-3-aux4
property-3-aux-5
property-3-aux-6
property-3-b
property-3
property-4-aux-1
property-4-aux-2
property-4-aux-3
property-4-aux4
property-4-aux5
property-4-aux6
property-4
property-4-a
property-5-1/1
property-5-1/2
property-5-1
property-5-2/1/1
property-5-2/2/1
property-5-2/2/2
face-not-null-implies-deg-face-not-null-to-prop5
property-5-2/2/3
i>j+1=>cmp-d-ls-d-do-i-cmp-s-ls-j=cmp-d-ls-d-do-i-1-bis
equal-face
property-5-2/2/4-a
equal-list
property-5-2/2/4-b
equal-equal
property-5-2/2/4
equal-list-2
property-5-2/2/5
property-5-2/2/6
property-5-2
property-5
1dlop-dgop-do=>null-cmp-d-ls-d-do
null-1dlop-dgop-do=>null-1dlop-dgop-binary-do
null-1dlop-dgop-do=>cmp-d-ls-d-do.0
null-1dlop-dgop-do=>cmp-d-ls-d-do.1
null-1dlop-dgop-do=>cmp-d-ls-d-do
equal-face-kenzo-eat/1
equal-face-kenzo-eat/2
equal-face-kenzo-eat/3
equal-face-kenzo-eat/4
equal-face-kenzo-eat/5
dgb-p=>dgb-p-cdr
dgb->dgn-dgn->dgb-car
dgn->dgb-dgb->dgn-car
dgop-ext-int-dgop-int-ext-car
dgop-int-ext-dgop-ext-int-car
dgb->dgl-dgl->dgb-car
dgl->dgb-dgb->dgl-car
dgop-ext-int-car=dgl->dgb->dgn-car
dgop-int-ext-car=dgn->dgb->dgl-car
dgl-p-car-dgop-ext-int-car
list-dgop-ext-int-car
natp-p-car-dgop-ext-int-car
list-dgop-int-ext-car
natp-dgb->dgn-dgl->dgb-list-i
equal-face-kenzo-eat/6a
dgop-ext-int-car-equal 
equal-face-kenzo-eat/6b
equal-face-kenzo-eat/6c
equal-face-kenzo-eat/6
equal-face-kenzo-eat/7
equal-face-kenzo-eat/8
equal-face-kenzo-eat/9
equal-face-kenzo-eat/9a
equal-face-kenzo-eat/9-b
equal-face-kenzo-eat/9c
equal-face-kenzo-eat/9d
equal-face-kenzo-eat/9e
equal-face-kenzo-eat/10
or-null-or-not-nul
equal-face-kenzo-eat
imp-equal-face-kenzo-eat
equal-degeneracy/1
equal-degeneracy/2
equal-degeneracy/3
equal-degeneracy/4
equal-degeneracy/5
equal-degeneracy/6
equal-degeneracy/7
equal-degeneracy/8
equal-degeneracy
list-imp-face
list-imp-degeneracy
dgl-p-face
dgl-p-imp-face
dgl-p-imp-degeneracy
kenzo-property-1-1
kenzo-property-1-3
kenzo-property-1-4
kenzo-property-1-5
kenzo-property-1-6
implies-canonical
kenzo-property-1-7
equal-dgop-ext-int-car
kenzo-property-1-8
kenzo-property-1-9
kenzo-property-1-2
kenzo-property-1
kenzo-property-2-1
kenzo-property-2-2
dgn->dgb->dgl-p
natp-dop-ext-int
dgop-ext-int-cmp-s-ls-induct
car-dgop-ext-int-car-deg
 kenzo-property-2-3
kenzo-property-2-4
kenzo-property-2-5
kenzo-property-2-6
kenzo-property-2-7
kenzo-property-2-8
kenzo-property-2-9
kenzo-property-2
imp-kenzo-face-equal-sc
kenzo-property-3-1
kenzo-property-3-2

kenzo-property-3-3
kenzo-property-3-4
natp-j-natp-i-i<j=>natp-j-1
kenzo-property-3-5
dgop-ext-int-car-imp-face-equal
kenzo-property-3-6
 kenzo-property-3-7
kenzo-property-3-8
imp-kenzo-deg-equal
kenzo-property-3-9
kenzo-property-3-10
kenzo-property-3-11
kenzo-property-3-12
kenzo-property-3-13
dgop-ext-int-car-imp-degeneracy-equal
kenzo-property-3-14
kenzo-property-3-15
kenzo-property-3-16
kenzo-property-3-16a
kenzo-property-3-17
kenzo-property-3-18
 kenzo-property-3-19
 kenzo-property-3-20
kenzo-property-3
kenzo-property-4-1
kenzo-property-4-2
kenzo-property-4-3
kenzo-property-4-4
kenzo-property-4-5
kenzo-property-4-6
kenzo-property-4-7
kenzo-property-4-8
kenzo-property-4-9
kenzo-property-4-10
kenzo-property-4-11
kenzo-property-4-12
kenzo-property-4-13
kenzo-property-4-14
kenzo-property-4-15
kenzo-property-4-16
kenzo-property-4-17
kenzo-property-4-18
kenzo-property-4-19
kenzo-property-4
kenzo-property-4-a
kenzo-property-5-1
kenzo-property-5-2
kenzo-property-5-3

kenzo-property-5-4
kenzo-property-5-5
kenzo-property-5-6
kenzo-property-5-7
kenzo-property-5-8
kenzo-property-5-9
i>j+1=>natp-i
kenzo-property-5-10
 kenzo-property-5-11
kenzo-property-5-12 
kenzo-property-5-13 
kenzo-property-5-14
kenzo-property-5-15 
kenzo-property-5-16
kenzo-property-5-17
kenzo-property-5-18
kenzo-property-5-19
kenzo-property-5-20
kenzo-property-5
imp-kenzo-inv
   ))

|#


(defconst *simplicial-set-kenzo*
  '((DEFUN FACE-EAT (SS D LS GMSM)
        (IF (CMP-D-LS-D-DO D LS)
            (LIST (CMP-D-LS D LS)
                  (FACE SS (CMP-D-LS-D-DO D LS) GMSM))
            (LIST (CMP-D-LS D LS) GMSM)))
 (DEFUN IMP-FACE-EAT (SS D Q ABSM)
        (DECLARE (IGNORE Q))
        (FACE-EAT SS D (CAR ABSM) (CADR ABSM)))
 (DEFUN DEGENERACY-EAT (D LS GMSM)
        (LIST (CMP-S-LS D LS) GMSM))
 (DEFUN IMP-DEGENERACY-EAT (SS D Q ABSM)
        (DECLARE (IGNORE Q SS))
        (DEGENERACY-EAT D (CAR ABSM)
                        (CADR ABSM)))
 (DEFUN FACE-KENZO (SC D DGOP GMSM)
        (IF (|1DLOP-DGOP-DO| D DGOP)
            (LIST (|1DLOP-DGOP| D DGOP) GMSM)
            (LIST (|1DLOP-DGOP| D DGOP)
                  (FACE SC (REAL-1DLOP-DGOP-DO D DGOP)
                        GMSM))))
 (DEFUN IMP-FACE-KENZO (SC D Q ABSM)
        (DECLARE (IGNORE Q))
        (FACE-KENZO SC D (CAR ABSM)
                    (CADR ABSM)))
 (DEFUN DEGENERACY-KENZO (D DGOP GMSM)
        (LIST (DGOP*DGOP (DGB->DGN (DGL->DGB (LIST D)))
                         DGOP)
              GMSM))
 (DEFUN IMP-DEGENERACY-KENZO (SC D Q ABSM)
        (DECLARE (IGNORE SC Q))
        (DEGENERACY-KENZO D (CAR ABSM)
                          (CADR ABSM)))
 (DEFUN DGN->DGB-CAR (ABSM)
        (CONS (DGN->DGB (CAR ABSM)) (CDR ABSM)))
 (DEFUN DGB->DGN-CAR (ABSM)
        (CONS (DGB->DGN (CAR ABSM)) (CDR ABSM)))
 (DEFUN DGOP-INT-EXT-CAR (ABSM)
        (CONS (DGOP-INT-EXT (CAR ABSM))
              (CDR ABSM)))
 (DEFUN DGOP-EXT-INT-CAR (ABSM)
        (CONS (DGOP-EXT-INT (CAR ABSM))
              (CDR ABSM)))
 (DEFUN DGB->DGL-CAR (ABSM)
        (CONS (DGB->DGL (CAR ABSM)) (CDR ABSM)))
 (DEFUN DGL->DGB-CAR (ABSM)
        (CONS (DGL->DGB (CAR ABSM)) (CDR ABSM)))
 (DEFTHM EQUAL-EQUAL-2
         (IMPLIES (AND (EQUAL A B) (EQUAL C B))
                  (EQUAL A C))
         :RULE-CLASSES NIL)
 (DEFTHM PROPERTY1/CASE-1.0
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (LIST (CMP-D-LS J (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-1.1
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY1/CASE-1.2
         (IMPLIES (AND (< I J)
                       (< I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA1-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1.3
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (LIST (CMP-D-LS I (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-1.4
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO (- J 1)
                                            (CMP-D-LS I (CAR ABSM)))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY1/CASE-1.5
         (IMPLIES (AND (< I J)
                       (< I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.4)))))
 (DEFTHM PROPERTY1/CASE-1.6
         (IMPLIES (AND (< I J)
                       (< I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1.5)
                               (:INSTANCE PROPERTY1/CASE-1.2)))))
 (DEFTHM PROPERTY1/CASE-1/1.0
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (MY-MEMBER-3 I (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA1.1-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1/1.1
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2.1-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.4)))))
 (DEFTHM PROPERTY1/CASE-1/1.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/1.0)
                               (:INSTANCE PROPERTY1/CASE-1/1.1)))))
 (DEFTHM PROPERTY1/CASE-1/2.0
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (NOT (MY-MEMBER-3 I (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA1.2-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1/2.1
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2.2-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.4)))))
 (DEFTHM PROPERTY1/CASE-1/2.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/2.0)
                               (:INSTANCE PROPERTY1/CASE-1/2.1)))))
 (DEFTHM PROPERTY1/CASE-1/3.0
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA1.3-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1/3.1
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2.3-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.4)))))
 (DEFTHM PROPERTY1/CASE-1/3.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/3.0)
                               (:INSTANCE PROPERTY1/CASE-1/3.1)))))
 (DEFTHM PROPERTY1/CASE-1/4.0
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA1.4-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1/4.1
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2.4-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1.4)))))
 (DEFTHM PROPERTY1/CASE-1/4.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/4.0)
                               (:INSTANCE PROPERTY1/CASE-1/4.1)))))
 (DEFTHM
      PROPERTY1/CASE-1/5.0
      (IMPLIES (AND (< I J)
                    (= I (- J 1))
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NOT (MY-MEMBER-2 J (CAR ABSM)))
                    (NOT (MY-MEMBER-2 I (CAR ABSM)))
                    (NOT (MY-MEMBER-3 I (CAR ABSM)))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (CADR ABSM))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE FACE-DO-IF-NULL-IMPLIES-NOT-MY-MEMBER
                                       (I I)
                                       (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM
      PROPERTY1/CASE-1/5.1
      (IMPLIES (AND (< I J)
                    (= I (- J 1))
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                    (NOT (MY-MEMBER-2 J (CAR ABSM)))
                    (NOT (MY-MEMBER-2 I (CAR ABSM)))
                    (NOT (MY-MEMBER-3 I (CAR ABSM))))
               (EQUAL (IMP-FACE-EAT SC (- J 1)
                                    (- Q 1)
                                    (IMP-FACE-EAT SC I Q ABSM))
                      (LIST (CMP-D-LS (- J 1)
                                      (CMP-D-LS I (CAR ABSM)))
                            (CADR ABSM))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE FACE-DO-IF-NULL-IMPLIES-NOT-MY-MEMBER
                                       (I I)
                                       (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-1.1)))))
 (DEFTHM PROPERTY1/CASE-1/5.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/5.0)
                               (:INSTANCE PROPERTY1/CASE-1/5.1)))))
 (DEFTHM PROPERTY1/CASE-1/6.0
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (NOT (MY-MEMBER-3 I (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY1/CASE-1/6.1
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY1/CASE-1/6.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (MY-MEMBER-2 J (CAR ABSM))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM)))))
 (DEFTHM PROPERTY1/CASE-1/7.2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (NOT (MY-MEMBER-2 I (CAR ABSM)))
                       (MY-MEMBER-3 I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM)))))
 (DEFTHM
      PROPERTY1/CASE-1/8.0
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM))))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM))))))
 (DEFTHM
      PROPERTY1/CASE-1/8.1
      (IMPLIES (AND (< I J)
                    (= I (- J 1))
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                    (NOT (MY-MEMBER-2 J (CAR ABSM)))
                    (MY-MEMBER-2 I (CAR ABSM))
                    (NOT (MY-MEMBER-3 I (CAR ABSM))))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE LEMMA1.0-BIS (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-1/8.0)))))
 (DEFTHM PROPERTY1/CASE-1/8.2
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (CMP-D-LS-D-DO (- J 1)
                                      (CMP-D-LS I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-1/8.3
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA2.0-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-1/8.2)))))
 (DEFTHM PROPERTY1/CASE-1/8.4
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (NOT (MY-MEMBER-2 J (CAR ABSM)))
                       (MY-MEMBER-2 I (CAR ABSM))
                       (NOT (MY-MEMBER-3 I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/8.3)))))
 (DEFTHM
    PROPERTY1/CASE-1/8.5
    (IMPLIES (AND (< I J)
                  (= I (- J 1))
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                  (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                  (NOT (MY-MEMBER-2 J (CAR ABSM)))
                  (MY-MEMBER-2 I (CAR ABSM))
                  (NOT (MY-MEMBER-3 I (CAR ABSM))))
             (EQUAL (IMP-FACE-EAT SC (- J 1)
                                  (- Q 1)
                                  (IMP-FACE-EAT SC I Q ABSM))
                    (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                          (FACE SC
                                (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                (CADR ABSM)))))
    :HINTS (("Goal" :DO-NOT-INDUCT T
                    :USE ((:INSTANCE PROPERTY1/CASE-1/8.4)
                          (:INSTANCE LEMMA1.0-LEMMA2.0-A (LS (CAR ABSM)))))))
 (DEFTHM
  PROPERTY1/CASE-1/8.6
  (IMPLIES (AND (< I J)
                (= I (- J 1))
                (NATP I)
                (NATP J)
                (DGL-P (CAR ABSM))
                (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                (NOT (MY-MEMBER-2 J (CAR ABSM)))
                (MY-MEMBER-2 I (CAR ABSM))
                (NOT (MY-MEMBER-3 I (CAR ABSM))))
           (EQUAL (IMP-FACE-EAT SC (- J 1)
                                (- Q 1)
                                (IMP-FACE-EAT SC I Q ABSM))
                  (IMP-FACE-EAT SC I (- Q 1)
                                (IMP-FACE-EAT SC J Q ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE ((:INSTANCE PROPERTY1/CASE-1/8.1)
          (:INSTANCE PROPERTY1/CASE-1/8.5)
          (:INSTANCE EQUAL-EQUAL-2
                     (A (IMP-FACE-EAT SC (- J 1)
                                      (- Q 1)
                                      (IMP-FACE-EAT SC I Q ABSM)))
                     (B (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                              (FACE SC
                                    (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                    (CADR ABSM))))
                     (C (IMP-FACE-EAT SC I (- Q 1)
                                      (IMP-FACE-EAT SC J Q ABSM))))))))
 (DEFTHM PROPERTY1/CASE-1/2
         (IMPLIES (AND (< I J)
                       (= I (- J 1))
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1/8.6)
                               (:INSTANCE PROPERTY1/CASE-1/7.2)
                               (:INSTANCE PROPERTY1/CASE-1/6.2)
                               (:INSTANCE PROPERTY1/CASE-1/5.2)
                               (:INSTANCE PROPERTY1/CASE-1/4.2)
                               (:INSTANCE PROPERTY1/CASE-1/3.2)
                               (:INSTANCE PROPERTY1/CASE-1/2.2)
                               (:INSTANCE PROPERTY1/CASE-1/1.2)))))
 (DEFTHM PROPERTY1/CASE-1
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-1.6)
                               (:INSTANCE PROPERTY1/CASE-1/2)))))
 (DEFTHM
    PROPERTY1/CASE-2.0
    (IMPLIES (AND (< I J)
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (CMP-D-LS-D-DO J (CAR ABSM))
                  (CMP-D-LS-D-DO I (CAR ABSM)))
             (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                  (IMP-FACE-EAT SC J Q ABSM))
                    (IMP-FACE-EAT SC I (- Q 1)
                                  (LIST (CMP-D-LS J (CAR ABSM))
                                        (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                              (CADR ABSM)))))))
 (DEFTHM
      PROPERTY1/CASE-2.1
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (CMP-D-LS-D-DO J (CAR ABSM))
                    (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM))))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                        (CADR ABSM)))))))
 (DEFTHM
      PROPERTY1/CASE-2.2
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (CMP-D-LS-D-DO J (CAR ABSM))
                    (CMP-D-LS-D-DO I (CAR ABSM)))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                        (CADR ABSM))))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE LEMMA4-BIS (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-2.1)))))
 (DEFTHM
    PROPERTY1/CASE-2.3
    (IMPLIES (AND (< I J)
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (CMP-D-LS-D-DO J (CAR ABSM))
                  (CMP-D-LS-D-DO I (CAR ABSM)))
             (EQUAL (IMP-FACE-EAT SC (- J 1)
                                  (- Q 1)
                                  (IMP-FACE-EAT SC I Q ABSM))
                    (IMP-FACE-EAT SC (- J 1)
                                  (- Q 1)
                                  (LIST (CMP-D-LS I (CAR ABSM))
                                        (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                              (CADR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-2.4
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM))
                       (CMP-D-LS-D-DO (- J 1)
                                      (CMP-D-LS I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                           (CADR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-2.5
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                           (CADR ABSM))))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA3-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-2.4)))))
 (DEFTHM PROPERTY1/CASE-2.6
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                           (CADR ABSM))))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-2.5)))))
 (DEFTHM NATP-CMP-D-LS-D-DO-J
         (IMPLIES (AND (NATP I)
                       (DGL-P LS)
                       (CMP-D-LS-D-DO I LS))
                  (NATP (CMP-D-LS-D-DO I LS))))
 (DEFTHM
      PROPERTY1/CASE-2.7
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (CANONICAL (CADR ABSM))
                    (CMP-D-LS-D-DO J (CAR ABSM))
                    (CMP-D-LS-D-DO I (CAR ABSM))
                    (NATP (CMP-D-LS-D-DO J (CAR ABSM)))
                    (NATP (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM))))
                    (< (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                       (CMP-D-LS-D-DO J (CAR ABSM))))
               (EQUAL (FACE SC
                            (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                  (CADR ABSM)))
                      (FACE SC (- (CMP-D-LS-D-DO J (CAR ABSM)) 1)
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS
      (("Goal" :DO-NOT-INDUCT T
               :USE ((:INSTANCE FACEOFACE
                                (I (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM))))
                                (J (CMP-D-LS-D-DO J (CAR ABSM)))
                                (LS (CADR ABSM)))))))
 (DEFTHM
      PROPERTY1/CASE-2.8
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (CANONICAL (CADR ABSM))
                    (CMP-D-LS-D-DO J (CAR ABSM))
                    (CMP-D-LS-D-DO I (CAR ABSM))
                    (NATP (CMP-D-LS-D-DO J (CAR ABSM)))
                    (NATP (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))))
               (EQUAL (FACE SC
                            (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                  (CADR ABSM)))
                      (FACE SC (- (CMP-D-LS-D-DO J (CAR ABSM)) 1)
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE LEMMA12-1 (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-2.7)))))
 (DEFTHM
      PROPERTY1/CASE-2.9
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (CANONICAL (CADR ABSM))
                    (CMP-D-LS-D-DO J (CAR ABSM))
                    (CMP-D-LS-D-DO I (CAR ABSM))
                    (NATP (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))))
               (EQUAL (FACE SC
                            (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                  (CADR ABSM)))
                      (FACE SC (- (CMP-D-LS-D-DO J (CAR ABSM)) 1)
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE PROPERTY1/CASE-2.8)))))
 (DEFTHM NATP-CMP-D-LS-D-DO-I-J
         (IMPLIES (AND (NATP I)
                       (NATP J)
                       (DGL-P LS)
                       (< I J)
                       (CMP-D-LS-D-DO J LS)
                       (CMP-D-LS-D-DO I LS))
                  (NATP (CMP-D-LS-D-DO I (CMP-D-LS J LS)))))
 (DEFTHM
     PROPERTY1/CASE-2.10
     (IMPLIES (AND (< I J)
                   (NATP I)
                   (NATP J)
                   (DGL-P (CAR ABSM))
                   (CANONICAL (CADR ABSM))
                   (CMP-D-LS-D-DO J (CAR ABSM))
                   (CMP-D-LS-D-DO I (CAR ABSM)))
              (EQUAL (FACE SC
                           (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                           (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                 (CADR ABSM)))
                     (FACE SC (- (CMP-D-LS-D-DO J (CAR ABSM)) 1)
                           (FACE SC
                                 (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                 (CADR ABSM)))))
     :HINTS (("Goal" :DO-NOT-INDUCT T
                     :USE ((:INSTANCE NATP-CMP-D-LS-D-DO-I-J (LS (CAR ABSM)))
                           (:INSTANCE PROPERTY1/CASE-2.9)))))
 (DEFTHM
  PROPERTY1/CASE-2.11
  (IMPLIES (AND (< I J)
                (NATP I)
                (NATP J)
                (DGL-P (CAR ABSM))
                (CANONICAL (CADR ABSM))
                (CMP-D-LS-D-DO J (CAR ABSM))
                (CMP-D-LS-D-DO I (CAR ABSM)))
           (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                (IMP-FACE-EAT SC J Q ABSM))
                  (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                        (FACE SC (- (CMP-D-LS-D-DO J (CAR ABSM)) 1)
                              (FACE SC
                                    (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                    (CADR ABSM))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :USE ((:INSTANCE PROPERTY1/CASE-2.2)
                        (:INSTANCE PROPERTY1/CASE-2.10)))))
 (DEFTHM PROPERTY1/CASE-2.12
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CANONICAL (CADR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                           (CADR ABSM))))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-2.11)
                               (:INSTANCE LEMMA12 (LS (CAR ABSM)))
                               (:INSTANCE LEMMA11 (LS (CAR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-2
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CANONICAL (CADR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-2.6)
                               (:INSTANCE PROPERTY1/CASE-2.12)))))
 (DEFTHM
      PROPERTY1/CASE-3.1
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (CMP-D-LS-D-DO I (CAR ABSM)))
               (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                    (IMP-FACE-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE LEMMA6-BIS (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY1/CASE-1/8.0)))))
 (DEFTHM
    PROPERTY1/CASE-3.2
    (IMPLIES (AND (< I J)
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                  (CMP-D-LS-D-DO I (CAR ABSM)))
             (EQUAL (IMP-FACE-EAT SC (- J 1)
                                  (- Q 1)
                                  (IMP-FACE-EAT SC I Q ABSM))
                    (IMP-FACE-EAT SC (- J 1)
                                  (- Q 1)
                                  (LIST (CMP-D-LS I (CAR ABSM))
                                        (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                              (CADR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-3.3
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO I (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO (- J 1)
                                            (CMP-D-LS I (CAR ABSM)))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                     (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-3.4
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA5-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-3.3)))))
 (DEFTHM PROPERTY1/CASE-3.5
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-3.4)))))
 (DEFTHM
      PROPERTY1/CASE-3.6
      (IMPLIES (AND (< I J)
                    (NATP I)
                    (NATP J)
                    (DGL-P (CAR ABSM))
                    (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                    (CMP-D-LS-D-DO I (CAR ABSM)))
               (EQUAL (IMP-FACE-EAT SC (- J 1)
                                    (- Q 1)
                                    (IMP-FACE-EAT SC I Q ABSM))
                      (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))
                                  (CADR ABSM)))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE PROPERTY1/CASE-3.5)
                            (:INSTANCE LEMMA10 (LS (CAR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-3
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO J (CAR ABSM)))
                       (CMP-D-LS-D-DO I (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-3.6)
                               (:INSTANCE PROPERTY1/CASE-3.1)))))
 (DEFTHM
    PROPERTY1/CASE-4.1
    (IMPLIES (AND (< I J)
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (CMP-D-LS-D-DO J (CAR ABSM))
                  (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
             (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                  (IMP-FACE-EAT SC J Q ABSM))
                    (IMP-FACE-EAT SC I (- Q 1)
                                  (LIST (CMP-D-LS J (CAR ABSM))
                                        (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                              (CADR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-4.2
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CMP-D-LS J (CAR ABSM)))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                     (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-4.2-B
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA8-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-4.2)))))
 (DEFTHM
    PROPERTY1/CASE-4.3
    (IMPLIES (AND (< I J)
                  (NATP I)
                  (NATP J)
                  (DGL-P (CAR ABSM))
                  (CMP-D-LS-D-DO J (CAR ABSM))
                  (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
             (EQUAL (IMP-FACE-EAT SC I (- Q 1)
                                  (IMP-FACE-EAT SC J Q ABSM))
                    (IMP-FACE-EAT SC I (- Q 1)
                                  (LIST (CMP-D-LS J (CAR ABSM))
                                        (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                              (CADR ABSM))))))
    :HINTS (("Goal" :DO-NOT-INDUCT T
                    :USE ((:INSTANCE LEMMA8-BIS (LS (CAR ABSM)))
                          (:INSTANCE PROPERTY1/CASE-4.2)))))
 (DEFTHM PROPERTY1/CASE-4.4
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (LIST (CMP-D-LS I (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-4.5
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM)))
                       (CMP-D-LS-D-DO (- J 1)
                                      (CMP-D-LS I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM))))))
 (DEFTHM PROPERTY1/CASE-4.6
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (- J 1)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE LEMMA7-BIS (LS (CAR ABSM)))
                               (:INSTANCE PROPERTY1/CASE-4.5)))))
 (DEFTHM PROPERTY1/CASE-4.7
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC
                                     (CMP-D-LS-D-DO (- J 1)
                                                    (CMP-D-LS I (CAR ABSM)))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-4.6)))))
 (DEFTHM PROPERTY1/CASE-4.8
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-D-LS J (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO J (CAR ABSM))
                                     (CADR ABSM)))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-4.7)
                               (:INSTANCE LEMMA9 (LS (CAR ABSM)))))))
 (DEFTHM PROPERTY1/CASE-4
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CMP-D-LS-D-DO J (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY1/CASE-4.2-B)
                               (:INSTANCE PROPERTY1/CASE-4.8)))))
 (DEFTHM PROPERTY1
         (IMPLIES (AND (< I J)
                       (NATP I)
                       (NATP J)
                       (DGL-P (CAR ABSM))
                       (CANONICAL (CADR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (- J 1)
                                       (- Q 1)
                                       (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (- Q 1)
                                       (IMP-FACE-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :IN-THEORY (DISABLE IMP-FACE-EAT)
                         :USE ((:INSTANCE PROPERTY1/CASE-1)
                               (:INSTANCE PROPERTY1/CASE-2)
                               (:INSTANCE PROPERTY1/CASE-3)
                               (:INSTANCE PROPERTY1/CASE-4)))))
 (DEFTHM
    PROPERTY2
    (IMPLIES (<= I J)
             (EQUAL (IMP-DEGENERACY-EAT SC I (1+ Q)
                                        (IMP-DEGENERACY-EAT SC J Q ABSM))
                    (IMP-DEGENERACY-EAT SC (1+ J)
                                        (1+ Q)
                                        (IMP-DEGENERACY-EAT SC I Q ABSM))))
    :HINTS (("Goal''" :USE ((:INSTANCE CMP-S-LS-PROPERTY (LS (CAR ABSM)))))))
 (DEFTHM
     PROPERTY-3-A1
     (IMPLIES
          (AND (< I J)
               (DGL-P LS)
               (NULL (CMP-D-LS-D-DO I LS)))
          (EQUAL (IMP-DEGENERACY-EAT SC (1- J)
                                     (1- Q)
                                     (IMP-FACE-EAT SC I Q (LIST LS GMSM)))
                 (IMP-FACE-EAT SC I (1+ Q)
                               (IMP-DEGENERACY-EAT SC J Q (LIST LS GMSM))))))
 (DEFTHM PROPERTY-3-A
         (IMPLIES (AND (< I J)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-DEGENERACY-EAT SC (1- J)
                                             (1- Q)
                                             (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (1+ Q)
                                       (IMP-DEGENERACY-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-3-A1 (I I)
                                          (J J)
                                          (LS (CAR ABSM))
                                          (GMSM (CADR ABSM)))))))
 (DEFTHM PROPERTY-3-AUX1
         (IMPLIES (AND (< I J)
                       (DGL-P (CAR ABSM))
                       (NOT (NULL (CMP-D-LS-D-DO I (CAR ABSM)))))
                  (EQUAL (IMP-DEGENERACY-EAT SC (1- J)
                                             (1- Q)
                                             (IMP-FACE-EAT SC I Q ABSM))
                         (LIST (CMP-S-LS (1- J)
                                         (CMP-D-LS I (CAR ABSM)))
                               (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                     (CADR ABSM))))))
 (DEFTHM PROPERTY-3-AUX3
         (IMPLIES (AND (< I J) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                       (IMP-DEGENERACY-EAT SC J Q ABSM))
                         (IMP-FACE-EAT SC I (1+ Q)
                                       (LIST (CMP-S-LS J (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM
      PROPERTY-3-AUX4
      (IMPLIES (AND (< I J)
                    (DGL-P (CAR ABSM))
                    (NOT (NULL (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM))))))
               (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                    (IMP-DEGENERACY-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                  (CADR ABSM))))))
 (DEFTHM
     PROPERTY-3-AUX-5
     (IMPLIES (AND (< I J)
                   (DGL-P (CAR ABSM))
                   (NOT (NULL (CMP-D-LS-D-DO I (CAR ABSM)))))
              (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                   (IMP-DEGENERACY-EAT SC J Q ABSM))
                     (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                           (FACE SC
                                 (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                 (CADR ABSM)))))
     :HINTS (("Goal" :DO-NOT-INDUCT T
                     :USE ((:INSTANCE FACE-NOT-NULL-IMPLIES-DEG-FACE-NOT-NULL
                                      (I I)
                                      (J J)
                                      (LS (CAR ABSM)))
                           (:INSTANCE PROPERTY-3-AUX4 (I I)
                                      (J J)
                                      (ABSM ABSM))))))
 (DEFTHM
    PROPERTY-3-AUX-6
    (IMPLIES (AND (< I J)
                  (DGL-P (CAR ABSM))
                  (NOT (NULL (CMP-D-LS-D-DO I (CAR ABSM)))))
             (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                  (IMP-DEGENERACY-EAT SC J Q ABSM))
                    (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                          (FACE SC (CMP-D-LS-D-DO I (CAR ABSM))
                                (CADR ABSM)))))
    :HINTS
    (("Goal" :DO-NOT-INDUCT T
             :USE ((:INSTANCE PROPERTY-3-AUX-5)
                   (:INSTANCE I<J=>CMP-D-LS-D-DO-I-CMP-S-LS-J=CMP-D-LS-D-DO-I
                              (DGOP (CAR ABSM)))))))
 (DEFTHM PROPERTY-3-B
         (IMPLIES (AND (< I J)
                       (DGL-P (CAR ABSM))
                       (NOT (NULL (CMP-D-LS-D-DO I (CAR ABSM)))))
                  (EQUAL (IMP-DEGENERACY-EAT SC (1- J)
                                             (1- Q)
                                             (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (1+ Q)
                                       (IMP-DEGENERACY-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-3-AUX1)
                               (:INSTANCE PROPERTY-3-AUX-6)
                               (:INSTANCE CMP-D-LS-CMP-S-LS (I I)
                                          (J J)
                                          (LS (CAR ABSM)))))))
 (DEFTHM PROPERTY-3
         (IMPLIES (AND (< I J) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-DEGENERACY-EAT SC (1- J)
                                             (1- Q)
                                             (IMP-FACE-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (1+ Q)
                                       (IMP-DEGENERACY-EAT SC J Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-3-A)
                               (:INSTANCE PROPERTY-3-B)))))
 (DEFTHM PROPERTY-4-AUX-1
         (IMPLIES (AND (NATP I) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC I (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC I (+ Q 1)
                                       (LIST (CMP-S-LS I (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM PROPERTY-4-AUX-2
         (IMPLIES (AND (NATP I)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO I (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC I (1+ Q) ABSM)
                         (LIST (CMP-D-LS I (CAR ABSM))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY-4-AUX-3
         (IMPLIES (AND (NATP I) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC I (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS I (CMP-S-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-4-AUX-1)
                               (:INSTANCE I=>NULLCMP-D-LS-D-DO-I-CMP-S-LS-I
                                          (DGOP (CAR ABSM)))
                               (:INSTANCE PROPERTY-4-AUX-2
                                          (ABSM (LIST (CMP-S-LS I (CAR ABSM))
                                                      (CADR ABSM))))))))
 (DEFTHM PROPERTY-4-AUX4
         (IMPLIES (AND (NATP I) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (1+ I)
                                       (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC (1+ I)
                                       (+ Q 1)
                                       (LIST (CMP-S-LS I (CAR ABSM))
                                             (CADR ABSM))))))
 (DEFTHM PROPERTY-4-AUX5
         (IMPLIES (AND (NATP I)
                       (DGL-P (CAR ABSM))
                       (NULL (CMP-D-LS-D-DO (1+ I) (CAR ABSM))))
                  (EQUAL (IMP-FACE-EAT SC (1+ I) (1+ Q) ABSM)
                         (LIST (CMP-D-LS (1+ I) (CAR ABSM))
                               (CADR ABSM)))))
 (DEFTHM PROPERTY-4-AUX6
         (IMPLIES (AND (NATP I) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC (1+ I)
                                       (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))
                         (LIST (CMP-D-LS (1+ I)
                                         (CMP-S-LS I (CAR ABSM)))
                               (CADR ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-4-AUX4)
                               (:INSTANCE I=>NULLCMP-D-LS-D-DO-1+I-CMP-S-LS-I
                                          (DGOP (CAR ABSM)))
                               (:INSTANCE PROPERTY-4-AUX5
                                          (ABSM (LIST (CMP-S-LS I (CAR ABSM))
                                                      (CADR ABSM))))))))
 (DEFTHM PROPERTY-4
         (IMPLIES (AND (NATP I) (DGL-P (CAR ABSM)))
                  (EQUAL (IMP-FACE-EAT SC I (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))
                         (IMP-FACE-EAT SC (1+ I)
                                       (+ Q 1)
                                       (IMP-DEGENERACY-EAT SC I Q ABSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE PROPERTY-4-AUX-3)
                               (:INSTANCE PROPERTY-4-AUX6)
                               (:INSTANCE CMP-D-LS-CMP-S-LS-PROPERTY-4-A
                                          (LS (CAR ABSM)))))))
 (DEFTHM
      PROPERTY-4-A
      (IMPLIES (AND (NATP I)
                    (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM)))
                    (DGL-P (CAR ABSM)))
               (EQUAL (IMP-FACE-EAT SC I (+ Q 1)
                                    (IMP-DEGENERACY-EAT SC I Q ABSM))
                      ABSM))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE PROPERTY-4-AUX-3)
                            (:INSTANCE CMP-D-LS-CMP-S-LS-PROPERTY-4-B (I I)
                                       (LS (CAR ABSM)))))))
 (DEFTHM
      PROPERTY-5-1/1
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J)
                    (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM))))
               (EQUAL (IMP-DEGENERACY-EAT SC J (1- Q)
                                          (IMP-FACE-EAT SC (- I 1) Q ABSM))
                      (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                            (CADR ABSM)))))
 (DEFTHM PROPERTY-5-1/2
         (IMPLIES (AND (> I (+ J 1))
                       (DGL-P (CAR ABSM))
                       (NATP I)
                       (NATP J)
                       (NULL (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))))
                  (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                       (IMP-DEGENERACY-EAT SC J Q ABSM))
                         (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM
      PROPERTY-5-1
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J)
                    (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM))))
               (EQUAL (IMP-DEGENERACY-EAT SC J (1- Q)
                                          (IMP-FACE-EAT SC (- I 1) Q ABSM))
                      (IMP-FACE-EAT SC I (1+ Q)
                                    (IMP-DEGENERACY-EAT SC J Q ABSM))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE FACE-NULL-IMPLIES-DEG-FACE-NULL (I I)
                                       (J J)
                                       (LS (CAR ABSM)))
                            (:INSTANCE PROPERTY-5-1/1)
                            (:INSTANCE PROPERTY-5-1/2)
                            (:INSTANCE CMP-D-LS-CMP-S-LS-PROP5
                                       (LS (CAR ABSM)))))))
 (DEFTHM
      PROPERTY-5-2/1/1
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J)
                    (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
               (EQUAL (IMP-DEGENERACY-EAT SC J (1- Q)
                                          (IMP-FACE-EAT SC (- I 1) Q ABSM))
                      (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                            (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                  (CADR ABSM))))))
 (DEFTHM
      PROPERTY-5-2/2/1
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J)
                    (NOT (NULL (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM))))))
               (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                    (IMP-DEGENERACY-EAT SC J Q ABSM))
                      (IMP-FACE-EAT SC I (1+ Q)
                                    (LIST (CMP-S-LS J (CAR ABSM))
                                          (CADR ABSM))))))
 (DEFTHM
      PROPERTY-5-2/2/2
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J)
                    (NOT (NULL (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM))))))
               (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                    (IMP-DEGENERACY-EAT SC J Q ABSM))
                      (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                            (FACE SC
                                  (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                  (CADR ABSM))))))
 (DEFTHM FACE-NOT-NULL-IMPLIES-DEG-FACE-NOT-NULL-TO-PROP5
         (IMPLIES (AND (> I (+ J 1))
                       (DGL-P LS)
                       (NATP I)
                       (NATP J)
                       (NOT (NULL (CMP-D-LS-D-DO (- I 1) LS))))
                  (NOT (NULL (CMP-D-LS-D-DO I (CMP-S-LS J LS)))))
         :HINTS (("Goal" :INDUCT (CMP-D-LS-DO-INDUCT I LS))))
 (DEFTHM
   PROPERTY-5-2/2/3
   (IMPLIES (AND (> I (+ J 1))
                 (DGL-P (CAR ABSM))
                 (NATP I)
                 (NATP J)
                 (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
            (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                 (IMP-DEGENERACY-EAT SC J Q ABSM))
                   (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                         (FACE SC
                               (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                               (CADR ABSM)))))
   :HINTS
   (("Goal" :DO-NOT-INDUCT T
            :USE ((:INSTANCE FACE-NOT-NULL-IMPLIES-DEG-FACE-NOT-NULL-TO-PROP5
                             (LS (CAR ABSM)))
                  (:INSTANCE PROPERTY-5-2/2/2)))))
 (DEFTHM I>J+1=>CMP-D-LS-D-DO-I-CMP-S-LS-J=CMP-D-LS-D-DO-I-1-BIS
         (IMPLIES (AND (> I (+ J 1))
                       (NATP I)
                       (NATP J)
                       (NOT (NULL (CMP-D-LS-D-DO (- I 1) DGOP))))
                  (EQUAL (CMP-D-LS-D-DO I (CMP-S-LS J DGOP))
                         (CMP-D-LS-D-DO (- I 1) DGOP)))
         :HINTS (("Goal" :INDUCT (CMP-D-LS-DO-INDUCT I DGOP))))
 (DEFTHM EQUAL-FACE
         (IMPLIES (EQUAL A B)
                  (EQUAL (FACE SC A L) (FACE SC B L))))
 (DEFTHM
  PROPERTY-5-2/2/4-A
  (IMPLIES (AND (> I (+ J 1))
                (DGL-P (CAR ABSM))
                (NATP I)
                (NATP J)
                (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
           (EQUAL (FACE SC
                        (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                        (CADR ABSM))
                  (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                        (CADR ABSM))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :USE ((:INSTANCE I>J+1=>CMP-D-LS-D-DO-I-CMP-S-LS-J=CMP-D-LS-D-DO-I-1-BIS
                      (DGOP (CAR ABSM)))
           (:INSTANCE EQUAL-FACE
                      (A (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM))))
                      (B (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))
                      (L (CADR ABSM))))))
  :RULE-CLASSES NIL)
 (DEFTHM EQUAL-LIST
         (IMPLIES (EQUAL A B)
                  (EQUAL (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                               A)
                         (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                               B))))
 (DEFTHM
    PROPERTY-5-2/2/4-B
    (IMPLIES (AND (> I (+ J 1))
                  (DGL-P (CAR ABSM))
                  (NATP I)
                  (NATP J)
                  (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
             (EQUAL (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                          (FACE SC
                                (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                (CADR ABSM)))
                    (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                          (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                (CADR ABSM)))))
    :HINTS
    (("Goal"
          :DO-NOT-INDUCT T
          :USE ((:INSTANCE PROPERTY-5-2/2/4-A)
                (:INSTANCE EQUAL-LIST
                           (A (FACE SC
                                    (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                    (CADR ABSM)))
                           (B (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                    (CADR ABSM)))))))
    :RULE-CLASSES NIL)
 (DEFTHM EQUAL-EQUAL
         (IMPLIES (AND (EQUAL A B) (EQUAL B C))
                  (EQUAL A C))
         :RULE-CLASSES NIL)
 (DEFTHM
  PROPERTY-5-2/2/4
  (IMPLIES (AND (> I (+ J 1))
                (DGL-P (CAR ABSM))
                (NATP I)
                (NATP J)
                (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
           (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                (IMP-DEGENERACY-EAT SC J Q ABSM))
                  (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                        (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                              (CADR ABSM)))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE ((:INSTANCE PROPERTY-5-2/2/3)
          (:INSTANCE PROPERTY-5-2/2/4-B)
          (:INSTANCE EQUAL-EQUAL
                     (A (IMP-FACE-EAT SC I (1+ Q)
                                      (IMP-DEGENERACY-EAT SC J Q ABSM)))
                     (B (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                              (FACE SC
                                    (CMP-D-LS-D-DO I (CMP-S-LS J (CAR ABSM)))
                                    (CADR ABSM))))
                     (C (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                              (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                    (CADR ABSM)))))))))
 (DEFTHM EQUAL-LIST-2
         (IMPLIES (EQUAL A B)
                  (EQUAL (LIST A
                               (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                     (CADR ABSM)))
                         (LIST B
                               (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                     (CADR ABSM)))))
         :RULE-CLASSES NIL)
 (DEFTHM
    PROPERTY-5-2/2/5
    (IMPLIES (AND (> I (+ J 1))
                  (DGL-P (CAR ABSM))
                  (NATP I)
                  (NATP J)
                  (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
             (EQUAL (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                          (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                (CADR ABSM)))
                    (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                          (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                (CADR ABSM)))))
    :HINTS
    (("Goal"
          :DO-NOT-INDUCT T
          :USE ((:INSTANCE CMP-D-LS-CMP-S-LS-PROP5 (I I)
                           (J J)
                           (LS (CAR ABSM)))
                (:INSTANCE EQUAL-LIST-2
                           (A (CMP-D-LS I (CMP-S-LS J (CAR ABSM))))
                           (B (CMP-S-LS J (CMP-S-LS (- I 1) (CAR ABSM))))))))
    :RULE-CLASSES NIL)
 (DEFTHM
  PROPERTY-5-2/2/6
  (IMPLIES (AND (> I (+ J 1))
                (DGL-P (CAR ABSM))
                (NATP I)
                (NATP J)
                (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
           (EQUAL (IMP-FACE-EAT SC I (1+ Q)
                                (IMP-DEGENERACY-EAT SC J Q ABSM))
                  (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                        (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                              (CADR ABSM)))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :USE ((:INSTANCE PROPERTY-5-2/2/4)
              (:INSTANCE PROPERTY-5-2/2/5)
              (:INSTANCE EQUAL-EQUAL
                         (A (IMP-FACE-EAT SC I (1+ Q)
                                          (IMP-DEGENERACY-EAT SC J Q ABSM)))
                         (B (LIST (CMP-D-LS I (CMP-S-LS J (CAR ABSM)))
                                  (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                        (CADR ABSM))))
                         (C (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                                  (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                        (CADR ABSM)))))))))
 (DEFTHM
  PROPERTY-5-2
  (IMPLIES (AND (> I (+ J 1))
                (DGL-P (CAR ABSM))
                (NATP I)
                (NATP J)
                (NOT (NULL (CMP-D-LS-D-DO (- I 1) (CAR ABSM)))))
           (EQUAL (IMP-DEGENERACY-EAT SC J (1- Q)
                                      (IMP-FACE-EAT SC (- I 1) Q ABSM))
                  (IMP-FACE-EAT SC I (1+ Q)
                                (IMP-DEGENERACY-EAT SC J Q ABSM))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :USE
        ((:INSTANCE PROPERTY-5-2/2/6)
         (:INSTANCE PROPERTY-5-2/1/1)
         (:INSTANCE EQUAL-EQUAL-2
                    (A (IMP-DEGENERACY-EAT SC J (1- Q)
                                           (IMP-FACE-EAT SC (- I 1) Q ABSM)))
                    (B (LIST (CMP-S-LS J (CMP-D-LS (- I 1) (CAR ABSM)))
                             (FACE SC (CMP-D-LS-D-DO (- I 1) (CAR ABSM))
                                   (CADR ABSM))))
                    (C (IMP-FACE-EAT SC I (1+ Q)
                                     (IMP-DEGENERACY-EAT SC J Q ABSM))))))))
 (DEFTHM
      PROPERTY-5
      (IMPLIES (AND (> I (+ J 1))
                    (DGL-P (CAR ABSM))
                    (NATP I)
                    (NATP J))
               (EQUAL (IMP-DEGENERACY-EAT SC J (1- Q)
                                          (IMP-FACE-EAT SC (- I 1) Q ABSM))
                      (IMP-FACE-EAT SC I (1+ Q)
                                    (IMP-DEGENERACY-EAT SC J Q ABSM))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE PROPERTY-5-2)
                            (:INSTANCE PROPERTY-5-1)))))
 (DEFTHM
  |1DLOP-DGOP-DO=>NULL-CMP-D-LS-D-DO|
  (IMPLIES (AND (NATP D)
                (NATP DGOP)
                (|1DLOP-DGOP-DO| D DGOP))
           (NULL (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))))
  :HINTS
  (("Goal" :USE ((:INSTANCE |1DLOP-DGOP-DO=1DLOP-DGOP-BINARY-DO|)
                 (:INSTANCE |1DLOP-DGOP-BINARY-DO-IMPLIES-NULL-CMP-D-LS-D-DO|
                            (DGB (DGN->DGB DGOP)))))))
 (DEFTHM NULL-1DLOP-DGOP-DO=>NULL-1DLOP-DGOP-BINARY-DO
         (IMPLIES (AND (NATP D) (NATP DGOP))
                  (EQUAL (NULL (|1DLOP-DGOP-DO| D DGOP))
                         (NULL (|1DLOP-DGOP-BINARY-DO| D (DGN->DGB DGOP))))))
 (DEFTHM
    NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO.0
    (IMPLIES (AND (NATP D)
                  (NATP DGOP)
                  (NULL (|1DLOP-DGOP-BINARY-DO| D (DGN->DGB DGOP))))
             (CMP-D-LS-D-DO D (DGB->DGL (DGN->DGB DGOP))))
    :HINTS
    (("Goal" :USE ((:INSTANCE NULL-1DLOP-DGOP-BINARY-DO-IMPLIES-CMP-D-LS-D-DO
                              (DGB (DGN->DGB DGOP)))))))
 (DEFTHM
    NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO.1
    (IMPLIES (AND (NATP D)
                  (NATP DGOP)
                  (NULL (|1DLOP-DGOP-BINARY-DO| D (DGN->DGB DGOP))))
             (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP)))
    :HINTS (("Goal" :USE ((:INSTANCE NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO.0)))))
 (DEFTHM
     NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO
     (IMPLIES (AND (NATP D)
                   (NATP DGOP)
                   (NULL (|1DLOP-DGOP-DO| D DGOP)))
              (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP)))
     :HINTS
     (("Goal" :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
              :USE ((:INSTANCE NULL-1DLOP-DGOP-DO=>NULL-1DLOP-DGOP-BINARY-DO)
                    (:INSTANCE NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO.1)))))
 (DEFTHM
     EQUAL-FACE-KENZO-EAT/1
     (IMPLIES
          (AND (NATP D) (NATP DGOP))
          (EQUAL (LIST (|1DLOP-DGOP| D DGOP) GMSM)
                 (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                       GMSM))))
 (DEFTHM
      EQUAL-FACE-KENZO-EAT/2
      (IMPLIES (AND (NATP D) (NATP DGOP))
               (EQUAL (LIST (|1DLOP-DGOP| D DGOP) GMSM)
                      (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                            GMSM))))
 (DEFTHM
     EQUAL-FACE-KENZO-EAT/3
     (IMPLIES
          (AND (NATP D) (NATP DGOP))
          (EQUAL (LIST (|1DLOP-DGOP| D DGOP)
                       (FACE SC (REAL-1DLOP-DGOP-DO D DGOP)
                             GMSM))
                 (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                       (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                             GMSM)))))
 (DEFTHM
      EQUAL-FACE-KENZO-EAT/4
      (IMPLIES (AND (NATP D)
                    (NATP DGOP)
                    (|1DLOP-DGOP-DO| D DGOP))
               (EQUAL (FACE-KENZO SC D DGOP GMSM)
                      (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                            GMSM))))
 (DEFTHM
      EQUAL-FACE-KENZO-EAT/5
      (IMPLIES (AND (NATP D)
                    (NATP DGOP)
                    (|1DLOP-DGOP-DO| D DGOP))
               (EQUAL (FACE-EAT SC D (DGOP-INT-EXT DGOP) GMSM)
                      (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                            GMSM)))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE |1DLOP-DGOP-DO=>NULL-CMP-D-LS-D-DO|)
                            (:INSTANCE FACE-EAT (LS (DGOP-INT-EXT DGOP)))))))
 (DEFTHM DGB-P=>DGB-P-CDR
         (IMPLIES (DGB-P DGOP)
                  (DGB-P (CDR DGOP))))
 (DEFTHM DGB->DGN-DGN->DGB-CAR
         (IMPLIES (AND (DGB-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGN->DGB-CAR (DGB->DGN-CAR ABSM))
                         ABSM)))
 (DEFTHM DGN->DGB-DGB->DGN-CAR
         (IMPLIES (AND (NATP (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGB->DGN-CAR (DGN->DGB-CAR ABSM))
                         ABSM)))
 (DEFTHM DGOP-EXT-INT-DGOP-INT-EXT-CAR
         (IMPLIES (AND (DGL-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-INT-EXT-CAR (DGOP-EXT-INT-CAR ABSM))
                         ABSM)))
 (DEFTHM DGOP-INT-EXT-DGOP-EXT-INT-CAR
         (IMPLIES (AND (NATP (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-EXT-INT-CAR (DGOP-INT-EXT-CAR ABSM))
                         ABSM)))
 (DEFTHM DGB->DGL-DGL->DGB-CAR
         (IMPLIES (AND (DGL-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGB->DGL-CAR (DGL->DGB-CAR ABSM))
                         ABSM)))
 (DEFTHM DGL->DGB-DGB->DGL-CAR
         (IMPLIES (AND (DGB-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGL->DGB-CAR (DGB->DGL-CAR ABSM))
                         ABSM)))
 (DEFTHM DGOP-EXT-INT-CAR=DGL->DGB->DGN-CAR
         (IMPLIES (AND (DGL-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-EXT-INT-CAR ABSM)
                         (DGB->DGN-CAR (DGL->DGB-CAR ABSM)))))
 (DEFTHM DGOP-INT-EXT-CAR=DGN->DGB->DGL-CAR
         (IMPLIES (AND (NATP (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-INT-EXT-CAR ABSM)
                         (DGB->DGL-CAR (DGN->DGB-CAR ABSM)))))
 (DEFTHM DGL-P-CAR-DGOP-EXT-INT-CAR
         (IMPLIES (AND (NATP (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (DGL-P (CAR (DGOP-INT-EXT-CAR ABSM)))))
 (DEFTHM LIST-DGOP-EXT-INT-CAR
         (IMPLIES (AND (NATP (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-INT-EXT-CAR ABSM)
                         (LIST (CAR (DGOP-INT-EXT-CAR ABSM))
                               (CADR (DGOP-INT-EXT-CAR ABSM))))))
 (DEFTHM NATP-P-CAR-DGOP-EXT-INT-CAR
         (IMPLIES (AND (DGL-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (NATP (CAR (DGOP-EXT-INT-CAR ABSM)))))
 (DEFTHM LIST-DGOP-INT-EXT-CAR
         (IMPLIES (AND (DGL-P (CAR ABSM))
                       (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
                  (EQUAL (DGOP-EXT-INT-CAR ABSM)
                         (LIST (CAR (DGOP-EXT-INT-CAR ABSM))
                               (CADR (DGOP-EXT-INT-CAR ABSM))))))
 (DEFTHM NATP-DGB->DGN-DGL->DGB-LIST-I
         (IMPLIES (NATP I)
                  (NATP (DGB->DGN (DGL->DGB (LIST I))))))
 (DEFTHM
      EQUAL-FACE-KENZO-EAT/6A
      (EQUAL (DGOP-EXT-INT-CAR (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                                     GMSM))
             (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                   GMSM))
      :HINTS
      (("Goal" :DO-NOT-INDUCT T
               :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
               :USE ((:INSTANCE DGOP-EXT-INT-CAR
                                (ABSM (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                                            GMSM)))))))
 (DEFTHM DGOP-EXT-INT-CAR-EQUAL
         (IMPLIES (EQUAL A B)
                  (EQUAL (DGOP-EXT-INT-CAR A)
                         (DGOP-EXT-INT-CAR B))))
 (DEFTHM
   EQUAL-FACE-KENZO-EAT/6B
   (IMPLIES (AND (NATP D)
                 (NATP DGOP)
                 (|1DLOP-DGOP-DO| D DGOP))
            (EQUAL (DGOP-EXT-INT-CAR (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                                           GMSM))
                   (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                               GMSM))))
   :HINTS (("Goal" :DO-NOT-INDUCT T
                   :USE ((:INSTANCE EQUAL-FACE-KENZO-EAT/5)
                         (:INSTANCE DGOP-EXT-INT-CAR-EQUAL
                                    (A (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                                 GMSM))
                                    (B (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                                             GMSM)))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/6C
  (IMPLIES (AND (NATP D)
                (NATP DGOP)
                (|1DLOP-DGOP-DO| D DGOP))
           (EQUAL (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                              GMSM))
                  (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                        GMSM)))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
      :USE
      ((:INSTANCE EQUAL-FACE-KENZO-EAT/6B)
       (:INSTANCE EQUAL-FACE-KENZO-EAT/6A)
       (:INSTANCE EQUAL-EQUAL
                  (A (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                                 GMSM)))
                  (B (DGOP-EXT-INT-CAR (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                                             GMSM)))
                  (C (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                           GMSM)))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/6
  (IMPLIES (AND (NATP D)
                (NATP DGOP)
                (|1DLOP-DGOP-DO| D DGOP))
           (EQUAL (FACE-KENZO SC D DGOP GMSM)
                  (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                              GMSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE ((:INSTANCE EQUAL-FACE-KENZO-EAT/4)
          (:INSTANCE EQUAL-FACE-KENZO-EAT/6C)
          (:INSTANCE EQUAL-EQUAL-2
                     (A (FACE-KENZO SC D DGOP GMSM))
                     (B (LIST (DGOP-EXT-INT (CMP-D-LS D (DGOP-INT-EXT DGOP)))
                              GMSM))
                     (C (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                                    GMSM))))))))
 (DEFTHM EQUAL-FACE-KENZO-EAT/7
         (IMPLIES (AND (NATP D)
                       (NATP DGOP)
                       (NULL (|1DLOP-DGOP-DO| D DGOP)))
                  (EQUAL (FACE-KENZO SC D DGOP GMSM)
                         (LIST (|1DLOP-DGOP| D DGOP)
                               (FACE SC (REAL-1DLOP-DGOP-DO D DGOP)
                                     GMSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE FACE-KENZO)))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/8
  (IMPLIES
       (AND (NATP D)
            (NATP DGOP)
            (NULL (|1DLOP-DGOP-DO| D DGOP)))
       (EQUAL (FACE-KENZO SC D DGOP GMSM)
              (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                    (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                          GMSM))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :USE
        ((:INSTANCE EQUAL-FACE-KENZO-EAT/7)
         (:INSTANCE EQUAL-FACE-KENZO-EAT/3)
         (:INSTANCE
              EQUAL-EQUAL
              (A (FACE-KENZO SC D DGOP GMSM))
              (B (LIST (|1DLOP-DGOP| D DGOP)
                       (FACE SC (REAL-1DLOP-DGOP-DO D DGOP)
                             GMSM)))
              (C (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                       (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                             GMSM))))))))
 (DEFTHM EQUAL-FACE-KENZO-EAT/9
         (IMPLIES (AND (NATP D)
                       (NATP DGOP)
                       (NULL (|1DLOP-DGOP-DO| D DGOP)))
                  (EQUAL (FACE-EAT SC D (DGOP-INT-EXT DGOP) GMSM)
                         (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE NULL-1DLOP-DGOP-DO=>CMP-D-LS-D-DO)
                               (:INSTANCE FACE-EAT (SS SC)
                                          (LS (DGOP-INT-EXT DGOP)))))))
 (DEFTHM EQUAL-FACE-KENZO-EAT/9A
         (EQUAL (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                      (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                            GMSM))
                (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                      (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                            GMSM)))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :USE ((:INSTANCE CMP-D-LS-CMP-D-LS-INDUCT (I D)
                                          (LS (DGOP-INT-EXT DGOP)))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/9-B
  (IMPLIES (AND (NATP D)
                (NATP DGOP)
                (NULL (|1DLOP-DGOP-DO| D DGOP)))
           (EQUAL (FACE-EAT SC D (DGOP-INT-EXT DGOP) GMSM)
                  (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                        (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                              GMSM))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :USE ((:INSTANCE EQUAL-FACE-KENZO-EAT/9)
           (:INSTANCE EQUAL-FACE-KENZO-EAT/9A)
           (:INSTANCE EQUAL-EQUAL
                      (A (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                   GMSM))
                      (B (LIST (CMP-D-LS D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM)))
                      (C (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM))))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/9C
  (EQUAL
       (DGOP-EXT-INT-CAR (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM)))
       (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
             (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                   GMSM)))
  :HINTS
  (("Goal"
       :DO-NOT-INDUCT T
       :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
       :USE
       ((:INSTANCE DGOP-EXT-INT-CAR
                   (ABSM (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM))))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/9D
  (IMPLIES
   (AND (NATP D)
        (NATP DGOP)
        (NULL (|1DLOP-DGOP-DO| D DGOP)))
   (EQUAL
       (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                   GMSM))
       (DGOP-EXT-INT-CAR (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM)))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
     :USE ((:INSTANCE EQUAL-FACE-KENZO-EAT/9-B)
           (:INSTANCE DGOP-EXT-INT-CAR-EQUAL
                      (A (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                   GMSM))
                      (B (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM))))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/9E
  (IMPLIES
       (AND (NATP D)
            (NATP DGOP)
            (NULL (|1DLOP-DGOP-DO| D DGOP)))
       (EQUAL (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                          GMSM))
              (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                    (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                          GMSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE |1DLOP-DGOP-DO|)
    :USE
    ((:INSTANCE EQUAL-FACE-KENZO-EAT/9D)
     (:INSTANCE EQUAL-FACE-KENZO-EAT/9C)
     (:INSTANCE
      EQUAL-EQUAL
      (A (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                     GMSM)))
      (B
       (DGOP-EXT-INT-CAR (LIST (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP))
                               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                                     GMSM))))
      (C (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
               (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                     GMSM))))))))
 (DEFTHM
  EQUAL-FACE-KENZO-EAT/10
  (IMPLIES (AND (NATP D)
                (NATP DGOP)
                (NULL (|1DLOP-DGOP-DO| D DGOP)))
           (EQUAL (FACE-KENZO SC D DGOP GMSM)
                  (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                              GMSM))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :IN-THEORY (DISABLE DGOP-EXT-INT-CAR-EQUAL)
        :USE
        ((:INSTANCE EQUAL-FACE-KENZO-EAT/9E)
         (:INSTANCE EQUAL-FACE-KENZO-EAT/8)
         (:INSTANCE
              EQUAL-EQUAL-2
              (A (FACE-KENZO SC D DGOP GMSM))
              (B (LIST (DGOP-EXT-INT (CMP-D-LS-INDUCT D (DGOP-INT-EXT DGOP)))
                       (FACE SC (CMP-D-LS-D-DO D (DGOP-INT-EXT DGOP))
                             GMSM)))
              (C (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                             GMSM))))))))
 (DEFTHM OR-NULL-OR-NOT-NUL
         (OR (NULL (|1DLOP-DGOP-DO| D DGOP))
             (|1DLOP-DGOP-DO| D DGOP))
         :RULE-CLASSES NIL)
 (DEFTHM EQUAL-FACE-KENZO-EAT
         (IMPLIES (AND (NATP D) (NATP DGOP))
                  (EQUAL (FACE-KENZO SC D DGOP GMSM)
                         (DGOP-EXT-INT-CAR (FACE-EAT SC D (DGOP-INT-EXT DGOP)
                                                     GMSM))))
         :HINTS (("Goal" :DO-NOT-INDUCT T
                         :IN-THEORY (DISABLE DGOP-EXT-INT-CAR-EQUAL)
                         :USE ((:INSTANCE OR-NULL-OR-NOT-NUL)
                               (:INSTANCE EQUAL-FACE-KENZO-EAT/10)
                               (:INSTANCE EQUAL-FACE-KENZO-EAT/6)))))
 (DEFTHM
  IMP-EQUAL-FACE-KENZO-EAT
  (IMPLIES
    (AND (NATP D) (NATP (CAR ABSM)))
    (EQUAL (IMP-FACE-KENZO SC D Q ABSM)
           (DGOP-EXT-INT-CAR (IMP-FACE-EAT SC D Q (DGOP-INT-EXT-CAR ABSM)))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP-EXT-INT-CAR-EQUAL
                                      FACE-KENZO FACE-EAT)
                  :USE ((:INSTANCE EQUAL-FACE-KENZO-EAT (DGOP (CAR ABSM))
                                   (GMSM (CADR ABSM)))))))
 (DEFTHM
      EQUAL-DEGENERACY/1
      (IMPLIES (AND (NATP (CAR ABSM)) (NATP D))
               (EQUAL (IMP-DEGENERACY-KENZO N D Q ABSM)
                      (LIST (DGB->DGN (DGB*DGB (DGL->DGB (LIST D))
                                               (DGN->DGB (CAR ABSM))))
                            (CADR ABSM))))
      :HINTS (("Goal" :DO-NOT-INDUCT T
                      :USE ((:INSTANCE DGOP*DGOP-DGB*DGB
                                       (DGN1 (DGB->DGN (DGL->DGB (LIST D))))
                                       (DGN2 (CAR ABSM)))))))
 (DEFTHM
   EQUAL-DEGENERACY/2
   (IMPLIES (AND (NATP (CAR ABSM)) (NATP D))
            (EQUAL (IMP-DEGENERACY-KENZO N D Q ABSM)
                   (LIST (DGOP-EXT-INT (CMP-LS-LS (LIST D)
                                                  (DGOP-INT-EXT (CAR ABSM))))
                         (CADR ABSM))))
   :HINTS (("Goal" :DO-NOT-INDUCT T
                   :USE ((:INSTANCE DGOP*DGOP-CMP-LS-LS
                                    (DGN1 (DGB->DGN (DGL->DGB (LIST D))))
                                    (DGN2 (CAR ABSM)))))))
 (DEFTHM
  EQUAL-DEGENERACY/3
  (IMPLIES
       (AND (NATP (CAR ABSM)) (NATP D))
       (EQUAL (DGOP-EXT-INT-CAR (LIST (CMP-LS-LS (LIST D)
                                                 (DGOP-INT-EXT (CAR ABSM)))
                                      (CADR ABSM)))
              (LIST (DGOP-EXT-INT (CMP-LS-LS (LIST D)
                                             (DGOP-INT-EXT (CAR ABSM))))
                    (CADR ABSM))))
  :HINTS
  (("Goal"
       :DO-NOT-INDUCT T
       :USE
       ((:INSTANCE
             DGOP-EXT-INT-CAR
             (ABSM (LIST (DGOP-EXT-INT (CMP-LS-LS (LIST D)
                                                  (DGOP-INT-EXT (CAR ABSM))))
                         (CADR ABSM))))))))
 (DEFTHM EQUAL-DEGENERACY/4
         (IMPLIES (AND (NATP (CAR ABSM)) (NATP D))
                  (EQUAL (DEGENERACY-EAT D (DGOP-INT-EXT (CAR ABSM))
                                         (CADR ABSM))
                         (LIST (CMP-S-LS D (DGOP-INT-EXT (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM EQUAL-DEGENERACY/5
         (IMPLIES (AND (NATP (CAR ABSM)) (NATP D))
                  (EQUAL (DEGENERACY-EAT D (DGOP-INT-EXT (CAR ABSM))
                                         (CADR ABSM))
                         (LIST (CMP-LS-LS (LIST D)
                                          (DGOP-INT-EXT (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM EQUAL-DEGENERACY/6
         (IMPLIES (AND (NATP (CAR ABSM)) (NATP D))
                  (EQUAL (IMP-DEGENERACY-EAT SC D Q (DGOP-INT-EXT-CAR ABSM))
                         (LIST (CMP-LS-LS (LIST D)
                                          (DGOP-INT-EXT (CAR ABSM)))
                               (CADR ABSM)))))
 (DEFTHM
  EQUAL-DEGENERACY/7
  (IMPLIES
       (AND (NATP (CAR ABSM)) (NATP D))
       (EQUAL (IMP-DEGENERACY-KENZO N D Q ABSM)
              (DGOP-EXT-INT-CAR (LIST (CMP-LS-LS (LIST D)
                                                 (DGOP-INT-EXT (CAR ABSM)))
                                      (CADR ABSM)))))
  :HINTS
  (("Goal"
       :DO-NOT-INDUCT T
       :USE
       ((:INSTANCE EQUAL-DEGENERACY/2)
        (:INSTANCE EQUAL-DEGENERACY/3)
        (:INSTANCE
             EQUAL-EQUAL
             (A (IMP-DEGENERACY-KENZO N D Q ABSM))
             (B (LIST (DGOP-EXT-INT (CMP-LS-LS (LIST D)
                                               (DGOP-INT-EXT (CAR ABSM))))
                      (CADR ABSM)))
             (C (DGOP-EXT-INT-CAR (LIST (CMP-LS-LS (LIST D)
                                                   (DGOP-INT-EXT (CAR ABSM)))
                                        (CADR ABSM)))))))))
 (DEFTHM
  EQUAL-DEGENERACY/8
  (IMPLIES
   (AND (NATP (CAR ABSM)) (NATP D))
   (EQUAL
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT SC D Q (DGOP-INT-EXT-CAR ABSM)))
       (DGOP-EXT-INT-CAR (LIST (CMP-LS-LS (LIST D)
                                          (DGOP-INT-EXT (CAR ABSM)))
                               (CADR ABSM))))))
 (DEFTHM
  EQUAL-DEGENERACY
  (IMPLIES
   (AND (NATP (CAR ABSM)) (NATP D))
   (EQUAL
     (IMP-DEGENERACY-KENZO SC D Q ABSM)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT SC D Q (DGOP-INT-EXT-CAR ABSM)))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :USE
     ((:INSTANCE EQUAL-DEGENERACY/7)
      (:INSTANCE EQUAL-DEGENERACY/8)
      (:INSTANCE
           EQUAL-EQUAL
           (A (IMP-DEGENERACY-KENZO SC D Q ABSM))
           (B (DGOP-EXT-INT-CAR (LIST (CMP-LS-LS (LIST D)
                                                 (DGOP-INT-EXT (CAR ABSM)))
                                      (CADR ABSM))))
           (C (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT SC D Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM LIST-IMP-FACE
         (EQUAL (IMP-FACE-EAT SC D Q A)
                (LIST (CAR (IMP-FACE-EAT SC D Q A))
                      (CADR (IMP-FACE-EAT SC D Q A)))))
 (DEFTHM LIST-IMP-DEGENERACY
         (EQUAL (IMP-DEGENERACY-EAT N D Q A)
                (LIST (CAR (IMP-DEGENERACY-EAT N D Q A))
                      (CADR (IMP-DEGENERACY-EAT N D Q A)))))
 (DEFTHM DGL-P-FACE
         (IMPLIES (AND (NATP D) (DGL-P (CAR ABSM)))
                  (DGL-P (CAR (FACE-EAT SC D (CAR ABSM)
                                        (CADR ABSM)))))
         :HINTS (("Goal" :USE ((:INSTANCE DGL-P-CMP-D-LS (DGL (CAR ABSM))
                                          (N D))))))
 (DEFTHM DGL-P-IMP-FACE
         (IMPLIES (AND (NATP D) (DGL-P (CAR ABSM)))
                  (DGL-P (CAR (IMP-FACE-EAT SC D Q ABSM))))
         :HINTS (("Goal" :USE ((:INSTANCE DGL-P-CMP-D-LS (DGL (CAR ABSM))
                                          (N D))))))
 (DEFTHM DGL-P-IMP-DEGENERACY
         (IMPLIES (AND (NATP D) (DGL-P (CAR ABSM)))
                  (DGL-P (CAR (IMP-DEGENERACY-EAT SC D Q ABSM))))
         :HINTS (("Goal" :USE ((:INSTANCE DGL-P-CMP-S-LS (DGL (CAR ABSM))
                                          (N D))))))
 (DEFTHM
  KENZO-PROPERTY-1-1
  (IMPLIES
   (AND (< I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM))
        (CANONICAL (CADR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO SC (- J 1)
                    (- Q 1)
                    (IMP-FACE-KENZO SC I Q ABSM))
    (DGOP-EXT-INT-CAR
     (IMP-FACE-EAT
      SC (- J 1)
      (- Q 1)
      (DGOP-INT-EXT-CAR
       (DGOP-EXT-INT-CAR (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-1-3
  (IMPLIES
   (AND (< I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM))
        (CANONICAL (CADR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO SC I (- Q 1)
                    (IMP-FACE-KENZO SC J Q ABSM))
    (DGOP-EXT-INT-CAR
     (IMP-FACE-EAT
      SC I (- Q 1)
      (DGOP-INT-EXT-CAR
       (DGOP-EXT-INT-CAR (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-1-4
  (IMPLIES
   (AND (< I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM))
        (CANONICAL (CADR ABSM)))
   (EQUAL
        (IMP-FACE-KENZO SC I (- Q 1)
                        (IMP-FACE-KENZO SC J Q ABSM))
        (DGOP-EXT-INT-CAR
             (IMP-FACE-EAT SC I (- Q 1)
                           (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
   KENZO-PROPERTY-1-5
   (IMPLIES
        (AND (< I J)
             (NATP I)
             (NATP J)
             (NATP (CAR ABSM))
             (CANONICAL (CADR ABSM))
             (DGL-P (CAR (DGOP-INT-EXT-CAR ABSM)))
             (CANONICAL (CADR (DGOP-INT-EXT-CAR ABSM))))
        (EQUAL (IMP-FACE-EAT SC (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))
               (IMP-FACE-EAT SC I (- Q 1)
                             (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))
   :HINTS (("Goal" :DO-NOT-INDUCT T
                   :USE ((:INSTANCE PROPERTY1
                                    (ABSM (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
   KENZO-PROPERTY-1-6
   (IMPLIES
        (AND (< I J)
             (NATP I)
             (NATP J)
             (NATP (CAR ABSM))
             (CANONICAL (CADR ABSM))
             (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM)))
             (CANONICAL (CADR (DGOP-INT-EXT-CAR ABSM))))
        (EQUAL (IMP-FACE-EAT SC (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))
               (IMP-FACE-EAT SC I (- Q 1)
                             (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))
   :HINTS (("Goal" :DO-NOT-INDUCT T
                   :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
                         (:INSTANCE KENZO-PROPERTY-1-5)))))
 (DEFTHM IMPLIES-CANONICAL
         (IMPLIES (CANONICAL (CADR ABSM))
                  (CANONICAL (CADR (DGOP-INT-EXT-CAR ABSM)))))
 (DEFTHM
   KENZO-PROPERTY-1-7
   (IMPLIES
        (AND (< I J)
             (NATP I)
             (NATP J)
             (NATP (CAR ABSM))
             (CANONICAL (CADR ABSM))
             (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
        (EQUAL (IMP-FACE-EAT SC (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))
               (IMP-FACE-EAT SC I (- Q 1)
                             (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))
   :HINTS (("Goal" :DO-NOT-INDUCT T
                   :USE ((:INSTANCE IMPLIES-CANONICAL)
                         (:INSTANCE KENZO-PROPERTY-1-6)))))
 (DEFTHM EQUAL-DGOP-EXT-INT-CAR
         (IMPLIES (EQUAL A B)
                  (EQUAL (DGOP-EXT-INT-CAR A)
                         (DGOP-EXT-INT-CAR B)))
         :RULE-CLASSES NIL)
 (DEFTHM
  KENZO-PROPERTY-1-8
  (IMPLIES
    (AND (< I J)
         (NATP I)
         (NATP J)
         (NATP (CAR ABSM))
         (CANONICAL (CADR ABSM))
         (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
    (EQUAL
         (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT SC (- J 1)
                            (- Q 1)
                            (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM))))
         (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT SC I (- Q 1)
                            (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE
    ((:INSTANCE KENZO-PROPERTY-1-7)
     (:INSTANCE
        EQUAL-DGOP-EXT-INT-CAR
        (A (IMP-FACE-EAT SC (- J 1)
                         (- Q 1)
                         (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM))))
        (B (IMP-FACE-EAT SC I (- Q 1)
                         (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-1-9
  (IMPLIES
    (AND (< I J)
         (NATP I)
         (NATP J)
         (NATP (CAR ABSM))
         (CANONICAL (CADR ABSM))
         (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
    (EQUAL
         (IMP-FACE-KENZO SC I (- Q 1)
                         (IMP-FACE-KENZO SC J Q ABSM))
         (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT SC (- J 1)
                            (- Q 1)
                            (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE
    ((:INSTANCE KENZO-PROPERTY-1-8)
     (:INSTANCE KENZO-PROPERTY-1-4)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO SC I (- Q 1)
                         (IMP-FACE-KENZO SC J Q ABSM)))
      (B (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT SC I (- Q 1)
                            (IMP-FACE-EAT SC J Q (DGOP-INT-EXT-CAR ABSM)))))
      (C
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT SC (- J 1)
                        (- Q 1)
                        (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-1-2
  (IMPLIES
   (AND (< I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM))
        (CANONICAL (CADR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
        (IMP-FACE-KENZO SC (- J 1)
                        (- Q 1)
                        (IMP-FACE-KENZO SC I Q ABSM))
        (DGOP-EXT-INT-CAR
             (IMP-FACE-EAT SC (- J 1)
                           (- Q 1)
                           (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
  KENZO-PROPERTY-1
  (IMPLIES (AND (< I J)
                (NATP I)
                (NATP J)
                (NATP (CAR ABSM))
                (CANONICAL (CADR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-FACE-KENZO SC I (- Q 1)
                                  (IMP-FACE-KENZO SC J Q ABSM))
                  (IMP-FACE-KENZO SC (- J 1)
                                  (- Q 1)
                                  (IMP-FACE-KENZO SC I Q ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :USE
    ((:INSTANCE KENZO-PROPERTY-1-9)
     (:INSTANCE KENZO-PROPERTY-1-2)
     (:INSTANCE
       EQUAL-EQUAL-2
       (A (IMP-FACE-KENZO SC I (- Q 1)
                          (IMP-FACE-KENZO SC J Q ABSM)))
       (B (DGOP-EXT-INT-CAR
               (IMP-FACE-EAT SC (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT SC I Q (DGOP-INT-EXT-CAR ABSM)))))
       (C (IMP-FACE-KENZO SC (- J 1)
                          (- Q 1)
                          (IMP-FACE-KENZO SC I Q ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-2-1
  (IMPLIES
   (AND (<= I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-DEGENERACY-KENZO N I (1+ Q)
                          (IMP-DEGENERACY-KENZO N J Q ABSM))
    (IMP-DEGENERACY-KENZO
     N I (1+ Q)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal" :DO-NOT-INDUCT T
           :IN-THEORY (DISABLE IMP-DEGENERACY-KENZO IMP-DEGENERACY-EAT)
           :USE ((:INSTANCE EQUAL-DEGENERACY (D J))))))
 (DEFTHM
  KENZO-PROPERTY-2-2
  (IMPLIES
   (AND
       (<= I J)
       (NATP J)
       (NATP I)
       (NATP (CAR ABSM))
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N I (1+ Q)
                          (IMP-DEGENERACY-KENZO N J Q ABSM))
    (DGOP-EXT-INT-CAR
      (IMP-DEGENERACY-EAT
           N I (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
    :USE
    ((:INSTANCE KENZO-PROPERTY-2-1)
     (:INSTANCE
         EQUAL-DEGENERACY (D I)
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM DGN->DGB->DGL-P
         (IMPLIES (NATP DGOP)
                  (DGL-P (DGB->DGL (DGN->DGB DGOP)))))
 (DEFTHM NATP-DOP-EXT-INT
         (IMPLIES (DGL-P DGOP)
                  (NATP (DGOP-EXT-INT DGOP))))
 (DEFTHM
  DGOP-EXT-INT-CMP-S-LS-INDUCT
  (IMPLIES
       (AND (NATP DGOP) (NATP J))
       (NATP (DGOP-EXT-INT (CMP-S-LS-INDUCT J (DGB->DGL (DGN->DGB DGOP))))))
  :HINTS
  (("Goal"
       :DO-NOT-INDUCT T
       :USE
       ((:INSTANCE DGN->DGB->DGL-P)
        (:INSTANCE DGL-P-CMP-S-LS
                   (DGL (DGB->DGL (DGN->DGB DGOP)))
                   (N J))
        (:INSTANCE NATP-DOP-EXT-INT
                   (DGOP (CMP-S-LS-INDUCT J (DGB->DGL (DGN->DGB DGOP)))))))))
 (DEFTHM
  CAR-DGOP-EXT-INT-CAR-DEG
  (IMPLIES
      (AND (NATP (CAR ABSM)) (NATP J))
      (NATP (CAR (DGOP-EXT-INT-CAR
                      (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
  KENZO-PROPERTY-2-3
  (IMPLIES
   (AND (<= I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-DEGENERACY-KENZO N I (1+ Q)
                          (IMP-DEGENERACY-KENZO N J Q ABSM))
    (DGOP-EXT-INT-CAR
      (IMP-DEGENERACY-EAT
           N I (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal" :DO-NOT-INDUCT T
           :IN-THEORY (DISABLE DGOP*DGOP
                               IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
           :USE ((:INSTANCE CAR-DGOP-EXT-INT-CAR-DEG)
                 (:INSTANCE KENZO-PROPERTY-2-2)))))
 (DEFTHM
  KENZO-PROPERTY-2-4
  (IMPLIES
      (AND (<= I J)
           (NATP J)
           (NATP I)
           (NATP (CAR ABSM))
           (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
      (EQUAL (IMP-DEGENERACY-KENZO N I (1+ Q)
                                   (IMP-DEGENERACY-KENZO N J Q ABSM))
             (DGOP-EXT-INT-CAR
                  (IMP-DEGENERACY-EAT
                       N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
    :USE ((:INSTANCE KENZO-PROPERTY-2-3)
          (:INSTANCE LIST-IMP-DEGENERACY (D J)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE DGL-P-IMP-DEGENERACY (SC N)
                     (D J)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               DGOP-EXT-INT-DGOP-INT-EXT-CAR
               (ABSM (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-2-5
  (IMPLIES
      (AND (<= I J)
           (NATP J)
           (NATP I)
           (NATP (CAR ABSM))
           (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
      (EQUAL (IMP-DEGENERACY-KENZO N I (1+ Q)
                                   (IMP-DEGENERACY-KENZO N J Q ABSM))
             (DGOP-EXT-INT-CAR
                  (IMP-DEGENERACY-EAT
                       N (1+ J)
                       (1+ Q)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal" :DO-NOT-INDUCT T
           :IN-THEORY (DISABLE DGOP*DGOP
                               IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
           :USE ((:INSTANCE KENZO-PROPERTY-2-4)
                 (:INSTANCE PROPERTY2 (SC N)
                            (ABSM (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
  KENZO-PROPERTY-2-6
  (IMPLIES
   (AND (<= I J)
        (NATP I)
        (NATP J)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (1+ J)
                          (1+ Q)
                          (IMP-DEGENERACY-KENZO N I Q ABSM))
    (IMP-DEGENERACY-KENZO
     N (1+ J)
     (1+ Q)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal" :DO-NOT-INDUCT T
           :IN-THEORY (DISABLE IMP-DEGENERACY-KENZO IMP-DEGENERACY-EAT)
           :USE ((:INSTANCE EQUAL-DEGENERACY (D I))))))
 (DEFTHM
  KENZO-PROPERTY-2-7
  (IMPLIES
   (AND
       (<= I J)
       (NATP J)
       (NATP I)
       (NATP (CAR ABSM))
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (1+ J)
                          (1+ Q)
                          (IMP-DEGENERACY-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
      (IMP-DEGENERACY-EAT
           N (1+ J)
           (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
    :USE
    ((:INSTANCE KENZO-PROPERTY-2-6)
     (:INSTANCE
         EQUAL-DEGENERACY (D (1+ J))
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-2-8
  (IMPLIES
   (AND (<= I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (1+ J)
                          (1+ Q)
                          (IMP-DEGENERACY-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
      (IMP-DEGENERACY-EAT
           N (1+ J)
           (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal" :DO-NOT-INDUCT T
           :IN-THEORY (DISABLE DGOP*DGOP
                               IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
           :USE ((:INSTANCE CAR-DGOP-EXT-INT-CAR-DEG (J I))
                 (:INSTANCE KENZO-PROPERTY-2-7)))))
 (DEFTHM
  KENZO-PROPERTY-2-9
  (IMPLIES
      (AND (<= I J)
           (NATP J)
           (NATP I)
           (NATP (CAR ABSM))
           (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
      (EQUAL (IMP-DEGENERACY-KENZO N (1+ J)
                                   (1+ Q)
                                   (IMP-DEGENERACY-KENZO N I Q ABSM))
             (DGOP-EXT-INT-CAR
                  (IMP-DEGENERACY-EAT
                       N (1+ J)
                       (1+ Q)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
    :USE ((:INSTANCE KENZO-PROPERTY-2-8)
          (:INSTANCE LIST-IMP-DEGENERACY (D I)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE DGL-P-IMP-DEGENERACY (SC N)
                     (D I)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               DGOP-EXT-INT-DGOP-INT-EXT-CAR
               (ABSM (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-2
  (IMPLIES (AND (<= I J)
                (NATP J)
                (NATP I)
                (NATP (CAR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-DEGENERACY-KENZO N (1+ J)
                                        (1+ Q)
                                        (IMP-DEGENERACY-KENZO N I Q ABSM))
                  (IMP-DEGENERACY-KENZO N I (1+ Q)
                                        (IMP-DEGENERACY-KENZO N J Q ABSM))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE DGOP*DGOP
                         IMP-DEGENERACY-EAT IMP-DEGENERACY-KENZO)
     :USE
     ((:INSTANCE KENZO-PROPERTY-2-9)
      (:INSTANCE KENZO-PROPERTY-2-5)
      (:INSTANCE
           EQUAL-EQUAL-2
           (A (IMP-DEGENERACY-KENZO N (1+ J)
                                    (1+ Q)
                                    (IMP-DEGENERACY-KENZO N I Q ABSM)))
           (B (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT
                        N (1+ J)
                        (1+ Q)
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
           (C (IMP-DEGENERACY-KENZO N I (1+ Q)
                                    (IMP-DEGENERACY-KENZO N J Q ABSM))))))))
 (DEFTHM IMP-KENZO-FACE-EQUAL-SC
         (IMPLIES (EQUAL A B)
                  (EQUAL (IMP-FACE-KENZO N D Q A)
                         (IMP-FACE-KENZO N D Q B))))
 (DEFTHM
  KENZO-PROPERTY-3-1
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO N I (+ Q 1)
                    (IMP-DEGENERACY-KENZO N J Q ABSM))
    (IMP-FACE-KENZO
     N I (+ Q 1)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
      :USE
      ((:INSTANCE EQUAL-DEGENERACY (SC N)
                  (D J))
       (:INSTANCE
            IMP-KENZO-FACE-EQUAL-SC (D I)
            (Q (+ Q 1))
            (A (IMP-DEGENERACY-KENZO N J Q ABSM))
            (B (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-3-2
  (IMPLIES
   (AND
       (NATP I)
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP IMP-FACE-EAT
                        IMP-FACE-KENZO DGOP-EXT-INT-CAR
                        DGOP-INT-EXT-CAR LIST-IMP-FACE)
    :USE
    ((:INSTANCE
         IMP-EQUAL-FACE-KENZO-EAT (D I)
         (Q (+ Q 1))
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-3-3
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (NATP
    (CAR
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE DGL-P-IMP-DEGENERACY (SC N)
                     (D J)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D J)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               NATP-P-CAR-DGOP-EXT-INT-CAR
               (ABSM (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-3-4
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-3-3)
                        (:INSTANCE KENZO-PROPERTY-3-2)))))
 (DEFTHM NATP-J-NATP-I-I<J=>NATP-J-1
         (IMPLIES (AND (NATP I) (NATP J) (< I J))
                  (NATP (- J 1))))
 (DEFTHM
  KENZO-PROPERTY-3-5
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-INT-EXT-CAR
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
          (:INSTANCE DGL-P-IMP-DEGENERACY (D J)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D J)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               DGOP-EXT-INT-DGOP-INT-EXT-CAR
               (ABSM (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM DGOP-EXT-INT-CAR-IMP-FACE-EQUAL
         (IMPLIES (EQUAL A B)
                  (EQUAL (DGOP-EXT-INT-CAR (IMP-FACE-EAT N D Q A))
                         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N D Q B)))))
 (DEFTHM
  KENZO-PROPERTY-3-6
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
             N I (+ Q 1)
             (DGOP-INT-EXT-CAR
                  (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE DGOP*DGOP
                         DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
     :USE
     ((:INSTANCE KENZO-PROPERTY-3-5)
      (:INSTANCE
           DGOP-EXT-INT-CAR-IMP-FACE-EQUAL (D I)
           (Q (+ Q 1))
           (A (DGOP-INT-EXT-CAR
                   (DGOP-EXT-INT-CAR
                        (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
           (B (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-3-7
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-4)
     (:INSTANCE KENZO-PROPERTY-3-6)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO
              N I (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
            N I (+ Q 1)
            (DGOP-INT-EXT-CAR
                 (DGOP-EXT-INT-CAR
                      (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (+ Q 1)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-3-8
  (IMPLIES
     (AND (< I J)
          (NATP J)
          (NATP I)
          (NATP (CAR ABSM)))
     (EQUAL (IMP-FACE-KENZO N I Q ABSM)
            (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP-EXT-INT-CAR DGOP-INT-EXT-CAR)
                  :USE ((:INSTANCE IMP-EQUAL-FACE-KENZO-EAT (SC N)
                                   (D I))))))
 (DEFTHM IMP-KENZO-DEG-EQUAL
         (IMPLIES (EQUAL A B)
                  (EQUAL (IMP-DEGENERACY-KENZO N D Q A)
                         (IMP-DEGENERACY-KENZO N D Q B))))
 (DEFTHM
  KENZO-PROPERTY-3-9
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
      (IMP-DEGENERACY-KENZO N (- J 1)
                            (- Q 1)
                            (IMP-FACE-KENZO N I Q ABSM))
      (IMP-DEGENERACY-KENZO
           N (- J 1)
           (- Q 1)
           (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-8)
     (:INSTANCE
      IMP-KENZO-DEG-EQUAL (D (- J 1))
      (Q (- Q 1))
      (A (IMP-FACE-KENZO N I Q ABSM))
      (B
        (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-3-10
  (IMPLIES
   (AND
    (NATP I)
    (NATP J)
    (< I J)
    (NATP
      (CAR (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-DEGENERACY-KENZO
         N (- J 1)
         (- Q 1)
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
      N (- J 1)
      (- Q 1)
      (DGOP-INT-EXT-CAR
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
     (:INSTANCE
      EQUAL-DEGENERACY (D (- J 1))
      (Q (- Q 1))
      (SC N)
      (ABSM
        (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-3-11
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (NATP
      (CAR (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
          (:INSTANCE DGL-P-IMP-FACE (D I)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-FACE (D I)
                     (SC N)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE NATP-P-CAR-DGOP-EXT-INT-CAR
                     (ABSM (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-3-12
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO
         N (- J 1)
         (- Q 1)
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
      N (- J 1)
      (- Q 1)
      (DGOP-INT-EXT-CAR
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-3-11)
                        (:INSTANCE KENZO-PROPERTY-3-10)))))
 (DEFTHM
  KENZO-PROPERTY-3-13
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
        (DGOP-INT-EXT-CAR
             (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
        (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
          (:INSTANCE DGL-P-IMP-FACE (D I)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-FACE (D I)
                     (SC N)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE DGOP-EXT-INT-DGOP-INT-EXT-CAR
                     (ABSM (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM DGOP-EXT-INT-CAR-IMP-DEGENERACY-EQUAL
         (IMPLIES (EQUAL A B)
                  (EQUAL (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N D Q A))
                         (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N D Q B)))))
 (DEFTHM
  KENZO-PROPERTY-3-14
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
      N (- J 1)
      (- Q 1)
      (DGOP-INT-EXT-CAR
           (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-13)
     (:INSTANCE
      DGOP-EXT-INT-CAR-IMP-DEGENERACY-EQUAL
      (D (- J 1))
      (Q (- Q 1))
      (A
       (DGOP-INT-EXT-CAR
            (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (B (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-3-15
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO
         N (- J 1)
         (- Q 1)
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-14)
     (:INSTANCE KENZO-PROPERTY-3-12)
     (:INSTANCE
      EQUAL-EQUAL
      (A
       (IMP-DEGENERACY-KENZO
            N (- J 1)
            (- Q 1)
            (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-DEGENERACY-EAT
         N (- J 1)
         (- Q 1)
         (DGOP-INT-EXT-CAR
          (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C (DGOP-EXT-INT-CAR
              (IMP-DEGENERACY-EAT
                   N (- J 1)
                   (- Q 1)
                   (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-3-16
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (- J 1)
                          (- Q 1)
                          (IMP-FACE-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N (- J 1)
                             (- Q 1)
                             (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-9)
     (:INSTANCE KENZO-PROPERTY-3-15)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-DEGENERACY-KENZO N (- J 1)
                               (- Q 1)
                               (IMP-FACE-KENZO N I Q ABSM)))
      (B
       (IMP-DEGENERACY-KENZO
            N (- J 1)
            (- Q 1)
            (DGOP-EXT-INT-CAR (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-DEGENERACY-EAT
                   N (- J 1)
                   (- Q 1)
                   (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-3-16A
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (- J 1)
                          (- Q 1)
                          (IMP-FACE-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N (1- J)
                             (1- Q)
                             (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP*DGOP)
                  :USE ((:INSTANCE KENZO-PROPERTY-3-16)))))
 (DEFTHM
  KENZO-PROPERTY-3-17
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N (1- J)
                             (1- Q)
                             (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
     (:INSTANCE PROPERTY-3 (SC N)
                (ABSM (DGOP-INT-EXT-CAR ABSM)))
     (:INSTANCE
        DGOP-EXT-INT-CAR-EQUAL
        (A (IMP-DEGENERACY-EAT N (1- J)
                               (1- Q)
                               (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
        (B (IMP-FACE-EAT
                N I (1+ Q)
                (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-3-18
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N (- J 1)
                          (- Q 1)
                          (IMP-FACE-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-16A)
     (:INSTANCE KENZO-PROPERTY-3-17)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-DEGENERACY-KENZO N (- J 1)
                               (- Q 1)
                               (IMP-FACE-KENZO N I Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-DEGENERACY-EAT N (1- J)
                              (1- Q)
                              (IMP-FACE-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (1+ Q)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-3-19
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N I (+ Q 1)
                    (IMP-DEGENERACY-KENZO N J Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-1)
     (:INSTANCE KENZO-PROPERTY-3-7)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N I (+ Q 1)
                         (IMP-DEGENERACY-KENZO N J Q ABSM)))
      (B (IMP-FACE-KENZO
              N I (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (+ Q 1)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-3-20
  (IMPLIES
   (AND (< I J)
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N I (+ Q 1)
                    (IMP-DEGENERACY-KENZO N J Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP*DGOP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-3-19)))))
 (DEFTHM
  KENZO-PROPERTY-3
  (IMPLIES (AND (< I J)
                (NATP J)
                (NATP I)
                (NATP (CAR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-DEGENERACY-KENZO N (- J 1)
                                        (- Q 1)
                                        (IMP-FACE-KENZO N I Q ABSM))
                  (IMP-FACE-KENZO N I (+ Q 1)
                                  (IMP-DEGENERACY-KENZO N J Q ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-3-20)
     (:INSTANCE KENZO-PROPERTY-3-18)
     (:INSTANCE
      EQUAL-EQUAL-2
      (A (IMP-DEGENERACY-KENZO N (- J 1)
                               (- Q 1)
                               (IMP-FACE-KENZO N I Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N I (1+ Q)
                        (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (IMP-FACE-KENZO N I (+ Q 1)
                         (IMP-DEGENERACY-KENZO N J Q ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-1
  (IMPLIES
   (AND (NATP I) (NATP (CAR ABSM)))
   (EQUAL
      (IMP-DEGENERACY-KENZO N I Q ABSM)
      (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP-EXT-INT-CAR DGOP-INT-EXT-CAR)
                  :USE ((:INSTANCE EQUAL-DEGENERACY (D I))))))
 (DEFTHM
  KENZO-PROPERTY-4-2
  (IMPLIES
   (AND (NATP I) (NATP (CAR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO N I (+ Q 1)
                    (IMP-DEGENERACY-KENZO N I Q ABSM))
    (IMP-FACE-KENZO
     N I (+ Q 1)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
      :USE
      ((:INSTANCE KENZO-PROPERTY-4-1)
       (:INSTANCE
            IMP-KENZO-FACE-EQUAL-SC (D I)
            (Q (+ Q 1))
            (A (IMP-DEGENERACY-KENZO N I Q ABSM))
            (B (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-4-3
  (IMPLIES
   (AND
       (NATP I)
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE
         IMP-EQUAL-FACE-KENZO-EAT (SC N)
         (D I)
         (Q (+ Q 1))
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-4-4
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (NATP
    (CAR
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE DGL-P-IMP-DEGENERACY (D I)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D I)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               NATP-P-CAR-DGOP-EXT-INT-CAR
               (ABSM (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-5
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-4-4)
                        (:INSTANCE KENZO-PROPERTY-4-3)))))
 (DEFTHM
  KENZO-PROPERTY-4-6
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-INT-EXT-CAR
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE DGL-P-IMP-DEGENERACY (D I)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D I)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               DGOP-EXT-INT-DGOP-INT-EXT-CAR
               (ABSM (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-7
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
             N I (+ Q 1)
             (DGOP-INT-EXT-CAR
                  (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE DGOP*DGOP
                         DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
     :USE
     ((:INSTANCE KENZO-PROPERTY-4-6)
      (:INSTANCE
           DGOP-EXT-INT-CAR-IMP-FACE-EQUAL (D I)
           (Q (+ Q 1))
           (A (DGOP-INT-EXT-CAR
                   (DGOP-EXT-INT-CAR
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
           (B (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-8
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-7)
     (:INSTANCE KENZO-PROPERTY-4-5)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO
              N I (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
            N I (+ Q 1)
            (DGOP-INT-EXT-CAR
                 (DGOP-EXT-INT-CAR
                      (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (+ Q 1)
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-4-9
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N I (+ Q 1)
                    (IMP-DEGENERACY-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-2)
     (:INSTANCE KENZO-PROPERTY-4-8)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N I (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM)))
      (B (IMP-FACE-KENZO
              N I (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (+ Q 1)
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-4-10
  (IMPLIES
   (AND (NATP I) (NATP (CAR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO N (1+ I)
                    (+ Q 1)
                    (IMP-DEGENERACY-KENZO N I Q ABSM))
    (IMP-FACE-KENZO
     N (1+ I)
     (+ Q 1)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
      :USE
      ((:INSTANCE KENZO-PROPERTY-4-1)
       (:INSTANCE
            IMP-KENZO-FACE-EQUAL-SC (D (1+ I))
            (Q (+ Q 1))
            (A (IMP-DEGENERACY-KENZO N I Q ABSM))
            (B (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-4-11
  (IMPLIES
   (AND
       (NATP I)
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-FACE-KENZO
       N (1+ I)
       (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N (1+ I)
           (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE
         IMP-EQUAL-FACE-KENZO-EAT (SC N)
         (D (1+ I))
         (Q (+ Q 1))
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-4-12
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N (1+ I)
       (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N (1+ I)
           (+ Q 1)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-4-4)
                        (:INSTANCE KENZO-PROPERTY-4-11)))))
 (DEFTHM
  KENZO-PROPERTY-4-13
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
             N (1+ I)
             (+ Q 1)
             (DGOP-INT-EXT-CAR
                  (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N (1+ I)
                       (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE DGOP*DGOP
                         DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
     :USE
     ((:INSTANCE KENZO-PROPERTY-4-6)
      (:INSTANCE
           DGOP-EXT-INT-CAR-IMP-FACE-EQUAL
           (D (1+ I))
           (Q (+ Q 1))
           (A (DGOP-INT-EXT-CAR
                   (DGOP-EXT-INT-CAR
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
           (B (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-14
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N (1+ I)
       (+ Q 1)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N (1+ I)
                       (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-13)
     (:INSTANCE KENZO-PROPERTY-4-12)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO
              N (1+ I)
              (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
            N (1+ I)
            (+ Q 1)
            (DGOP-INT-EXT-CAR
                 (DGOP-EXT-INT-CAR
                      (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N (1+ I)
                   (+ Q 1)
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-4-15
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N (1+ I)
                    (+ Q 1)
                    (IMP-DEGENERACY-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N (1+ I)
                       (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-10)
     (:INSTANCE KENZO-PROPERTY-4-14)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N (1+ I)
                         (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM)))
      (B (IMP-FACE-KENZO
              N (1+ I)
              (+ Q 1)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N (1+ I)
                   (+ Q 1)
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-4-16
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N (1+ I)
                       (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
     (:INSTANCE PROPERTY-4 (SC N)
                (ABSM (DGOP-INT-EXT-CAR ABSM)))
     (:INSTANCE
        DGOP-EXT-INT-CAR-EQUAL
        (A (IMP-FACE-EAT N I (+ Q 1)
                         (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
        (B (IMP-FACE-EAT
                N (1+ I)
                (+ Q 1)
                (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-4-17
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N (1+ I)
                    (+ Q 1)
                    (IMP-DEGENERACY-KENZO N I Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (+ Q 1)
                       (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-16)
     (:INSTANCE KENZO-PROPERTY-4-15)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N (1+ I)
                         (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N (1+ I)
                        (+ Q 1)
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (+ Q 1)
                   (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-4-18
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
      (DGOP-EXT-INT-CAR
           (IMP-FACE-EAT N I (+ Q 1)
                         (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
      (DGOP-EXT-INT-CAR (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
     (:INSTANCE LIST-DGOP-EXT-INT-CAR)
     (:INSTANCE PROPERTY-4-A (SC N)
                (ABSM (DGOP-INT-EXT-CAR ABSM)))
     (:INSTANCE
        DGOP-EXT-INT-CAR-EQUAL
        (A (IMP-FACE-EAT N I (+ Q 1)
                         (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
        (B (DGOP-INT-EXT-CAR ABSM)))))))
 (DEFTHM
  KENZO-PROPERTY-4-19
  (IMPLIES
   (AND (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
      (DGOP-EXT-INT-CAR
           (IMP-FACE-EAT N I (+ Q 1)
                         (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM))))
      ABSM))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-18)
     (:INSTANCE DGOP-INT-EXT-DGOP-EXT-INT-CAR)
     (:INSTANCE
      EQUAL-EQUAL
      (A
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N I (+ Q 1)
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (B (DGOP-EXT-INT-CAR (DGOP-INT-EXT-CAR ABSM)))
      (C ABSM))))))
 (DEFTHM
  KENZO-PROPERTY-4
  (IMPLIES (AND (NATP I)
                (NATP (CAR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-FACE-KENZO N (1+ I)
                                  (+ Q 1)
                                  (IMP-DEGENERACY-KENZO N I Q ABSM))
                  (IMP-FACE-KENZO N I (+ Q 1)
                                  (IMP-DEGENERACY-KENZO N I Q ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-17)
     (:INSTANCE KENZO-PROPERTY-4-9)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N (1+ I)
                         (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N I (+ Q 1)
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (IMP-FACE-KENZO N I (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-4-A
  (IMPLIES (AND (NATP I)
                (NATP (CAR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-FACE-KENZO N (1+ I)
                                  (+ Q 1)
                                  (IMP-DEGENERACY-KENZO N I Q ABSM))
                  ABSM))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-4-19)
     (:INSTANCE KENZO-PROPERTY-4-17)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N (1+ I)
                         (+ Q 1)
                         (IMP-DEGENERACY-KENZO N I Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N I (+ Q 1)
                        (IMP-DEGENERACY-EAT N I Q (DGOP-INT-EXT-CAR ABSM)))))
      (C ABSM))))))
 (DEFTHM
  KENZO-PROPERTY-5-1
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM)))
   (EQUAL
      (IMP-DEGENERACY-KENZO N J Q ABSM)
      (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE DGOP-EXT-INT-CAR DGOP-INT-EXT-CAR)
                  :USE ((:INSTANCE EQUAL-DEGENERACY (D J))))))
 (DEFTHM
  KENZO-PROPERTY-5-2
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM)))
   (EQUAL
    (IMP-FACE-KENZO N I (1+ Q)
                    (IMP-DEGENERACY-KENZO N J Q ABSM))
    (IMP-FACE-KENZO
     N I (1+ Q)
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
      :USE
      ((:INSTANCE KENZO-PROPERTY-5-1)
       (:INSTANCE
            IMP-KENZO-FACE-EQUAL-SC (D I)
            (Q (1+ Q))
            (A (IMP-DEGENERACY-KENZO N J Q ABSM))
            (B (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-5-3
  (IMPLIES
   (AND
       (NATP I)
       (NATP (CAR (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (1+ Q)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE
         IMP-EQUAL-FACE-KENZO-EAT (SC N)
         (D I)
         (Q (1+ Q))
         (ABSM (DGOP-EXT-INT-CAR
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-5-4
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (NATP
    (CAR
     (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE DGL-P-IMP-DEGENERACY (D J)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D J)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               NATP-P-CAR-DGOP-EXT-INT-CAR
               (ABSM (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-5
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (1+ Q)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
      (IMP-FACE-EAT
           N I (1+ Q)
           (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR
                     (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-5-4)
                        (:INSTANCE KENZO-PROPERTY-5-3)))))
 (DEFTHM
  KENZO-PROPERTY-5-6
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-INT-EXT-CAR
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
          (:INSTANCE LIST-DGOP-EXT-INT-CAR)
          (:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
          (:INSTANCE DGL-P-IMP-DEGENERACY (D J)
                     (SC N)
                     (ABSM (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE LIST-IMP-DEGENERACY (D J)
                     (A (DGOP-INT-EXT-CAR ABSM)))
          (:INSTANCE
               DGOP-EXT-INT-DGOP-INT-EXT-CAR
               (ABSM (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-7
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
             N I (1+ Q)
             (DGOP-INT-EXT-CAR
                  (DGOP-EXT-INT-CAR
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
     :DO-NOT-INDUCT T
     :IN-THEORY (DISABLE DGOP*DGOP
                         DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
     :USE
     ((:INSTANCE KENZO-PROPERTY-5-6)
      (:INSTANCE
           DGOP-EXT-INT-CAR-IMP-FACE-EQUAL (D I)
           (Q (1+ Q))
           (A (DGOP-INT-EXT-CAR
                   (DGOP-EXT-INT-CAR
                        (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
           (B (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-8
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO
       N I (1+ Q)
       (DGOP-EXT-INT-CAR (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-7)
     (:INSTANCE KENZO-PROPERTY-5-5)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO
              N I (1+ Q)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-FACE-EAT
            N I (1+ Q)
            (DGOP-INT-EXT-CAR
                 (DGOP-EXT-INT-CAR
                      (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (1+ Q)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-5-9
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-FACE-KENZO N I (1+ Q)
                    (IMP-DEGENERACY-KENZO N J Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-8)
     (:INSTANCE KENZO-PROPERTY-5-2)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-FACE-KENZO N I (1+ Q)
                         (IMP-DEGENERACY-KENZO N J Q ABSM)))
      (B (IMP-FACE-KENZO
              N I (1+ Q)
              (DGOP-EXT-INT-CAR
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (1+ Q)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM I>J+1=>NATP-I
         (IMPLIES (AND (NATP I) (NATP J) (> I (+ J 1)))
                  (NATP (- I 1))))
 (DEFTHM
    KENZO-PROPERTY-5-10
    (IMPLIES
         (AND (> I (+ J 1))
              (NATP J)
              (NATP I)
              (NATP (CAR ABSM)))
         (EQUAL (IMP-FACE-KENZO N (- I 1) Q ABSM)
                (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                                Q (DGOP-INT-EXT-CAR ABSM)))))
    :HINTS (("Goal" :DO-NOT-INDUCT T
                    :IN-THEORY (DISABLE DGOP-EXT-INT-CAR DGOP-INT-EXT-CAR)
                    :USE ((:INSTANCE I>J+1=>NATP-I)
                          (:INSTANCE IMP-EQUAL-FACE-KENZO-EAT (SC N)
                                     (D (- I 1)))))))
 (DEFTHM
  KENZO-PROPERTY-5-11
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL (IMP-DEGENERACY-KENZO N J (1- Q)
                                (IMP-FACE-KENZO N (- I 1) Q ABSM))
          (IMP-DEGENERACY-KENZO
               N J (1- Q)
               (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-10)
     (:INSTANCE
         IMP-KENZO-DEG-EQUAL (D J)
         (Q (- Q 1))
         (A (IMP-FACE-KENZO N (- I 1) Q ABSM))
         (B (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                            Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-5-12
  (IMPLIES
   (AND
    (NATP I)
    (NATP J)
    (> I (+ J 1))
    (NATP (CAR (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
   (EQUAL
    (IMP-DEGENERACY-KENZO
         N J (1- Q)
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                         Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
        N J (1- Q)
        (DGOP-INT-EXT-CAR
             (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                             Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE NATP-J-NATP-I-I<J=>NATP-J-1)
     (:INSTANCE
      EQUAL-DEGENERACY (SC N)
      (D J)
      (Q (1- Q))
      (ABSM (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                            Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-5-13
  (IMPLIES
    (AND (> I (+ J 1))
         (NATP J)
         (NATP I)
         (NATP (CAR ABSM))
         (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
    (NATP (CAR (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :IN-THEORY (DISABLE NATP DGOP-EXT-INT-CAR)
        :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
              (:INSTANCE LIST-DGOP-EXT-INT-CAR)
              (:INSTANCE I>J+1=>NATP-I)
              (:INSTANCE DGL-P-IMP-FACE (D (- I 1))
                         (SC N)
                         (ABSM (DGOP-INT-EXT-CAR ABSM)))
              (:INSTANCE LIST-IMP-FACE (D (- I 1))
                         (SC N)
                         (A (DGOP-INT-EXT-CAR ABSM)))
              (:INSTANCE NATP-P-CAR-DGOP-EXT-INT-CAR
                         (ABSM (IMP-FACE-EAT N (- I 1)
                                             Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-14
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO
         N J (1- Q)
         (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                         Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
        N J (1- Q)
        (DGOP-INT-EXT-CAR
             (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                             Q (DGOP-INT-EXT-CAR ABSM))))))))
  :HINTS (("Goal" :DO-NOT-INDUCT T
                  :IN-THEORY (DISABLE NATP
                                      DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
                  :USE ((:INSTANCE KENZO-PROPERTY-5-13)
                        (:INSTANCE KENZO-PROPERTY-5-12)))))
 (DEFTHM
  KENZO-PROPERTY-5-15
  (IMPLIES
     (AND (> I (+ J 1))
          (NATP J)
          (NATP I)
          (NATP (CAR ABSM))
          (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
     (EQUAL (DGOP-INT-EXT-CAR
                 (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                                 Q (DGOP-INT-EXT-CAR ABSM))))
            (IMP-FACE-EAT N (- I 1)
                          Q (DGOP-INT-EXT-CAR ABSM))))
  :HINTS
  (("Goal"
        :DO-NOT-INDUCT T
        :IN-THEORY (DISABLE DGOP*DGOP
                            DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
        :USE ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
              (:INSTANCE LIST-DGOP-EXT-INT-CAR)
              (:INSTANCE I>J+1=>NATP-I)
              (:INSTANCE DGL-P-IMP-FACE (D (- I 1))
                         (SC N)
                         (ABSM (DGOP-INT-EXT-CAR ABSM)))
              (:INSTANCE LIST-IMP-FACE (D (- I 1))
                         (SC N)
                         (A (DGOP-INT-EXT-CAR ABSM)))
              (:INSTANCE DGOP-EXT-INT-DGOP-INT-EXT-CAR
                         (ABSM (IMP-FACE-EAT N (- I 1)
                                             Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-16
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
     (IMP-DEGENERACY-EAT
          N J (1- Q)
          (DGOP-INT-EXT-CAR
               (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N J (1- Q)
                             (IMP-FACE-EAT N (- I 1)
                                           Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-15)
     (:INSTANCE
        DGOP-EXT-INT-CAR-IMP-DEGENERACY-EQUAL
        (D J)
        (Q (1- Q))
        (A (DGOP-INT-EXT-CAR
                (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                                Q (DGOP-INT-EXT-CAR ABSM)))))
        (B (IMP-FACE-EAT N (- I 1)
                         Q (DGOP-INT-EXT-CAR ABSM))))))))
 (DEFTHM
  KENZO-PROPERTY-5-17
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
        (IMP-DEGENERACY-KENZO
             N J (1- Q)
             (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                             Q (DGOP-INT-EXT-CAR ABSM))))
        (DGOP-EXT-INT-CAR
             (IMP-DEGENERACY-EAT N J (1- Q)
                                 (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP
                        DGOP-EXT-INT-CAR LIST-DGOP-EXT-INT-CAR)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-16)
     (:INSTANCE KENZO-PROPERTY-5-14)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-DEGENERACY-KENZO
              N J (1- Q)
              (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                              Q (DGOP-INT-EXT-CAR ABSM)))))
      (B
       (DGOP-EXT-INT-CAR
        (IMP-DEGENERACY-EAT
         N J (1- Q)
         (DGOP-INT-EXT-CAR
              (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                              Q (DGOP-INT-EXT-CAR ABSM)))))))
      (C
       (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N J (1- Q)
                             (IMP-FACE-EAT N (- I 1)
                                           Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-5-18
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
        (IMP-DEGENERACY-KENZO N J (1- Q)
                              (IMP-FACE-KENZO N (- I 1) Q ABSM))
        (DGOP-EXT-INT-CAR
             (IMP-DEGENERACY-EAT N J (1- Q)
                                 (IMP-FACE-EAT N (- I 1)
                                               Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-11)
     (:INSTANCE KENZO-PROPERTY-5-17)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-DEGENERACY-KENZO N J (1- Q)
                               (IMP-FACE-KENZO N (- I 1) Q ABSM)))
      (B (IMP-DEGENERACY-KENZO
              N J (1- Q)
              (DGOP-EXT-INT-CAR (IMP-FACE-EAT N (- I 1)
                                              Q (DGOP-INT-EXT-CAR ABSM)))))
      (C
       (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N J (1- Q)
                             (IMP-FACE-EAT N (- I 1)
                                           Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-5-19
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (DGOP-EXT-INT-CAR
         (IMP-DEGENERACY-EAT N J (1- Q)
                             (IMP-FACE-EAT N (- I 1)
                                           Q (DGOP-INT-EXT-CAR ABSM))))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
      :DO-NOT-INDUCT T
      :IN-THEORY (DISABLE DGOP*DGOP)
      :USE
      ((:INSTANCE DGL-P-CAR-DGOP-EXT-INT-CAR)
       (:INSTANCE PROPERTY-5 (SC N)
                  (ABSM (DGOP-INT-EXT-CAR ABSM)))
       (:INSTANCE
            DGOP-EXT-INT-CAR-EQUAL
            (A (IMP-DEGENERACY-EAT N J (1- Q)
                                   (IMP-FACE-EAT N (- I 1)
                                                 Q (DGOP-INT-EXT-CAR ABSM))))
            (B (IMP-FACE-EAT
                    N I (1+ Q)
                    (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))))))
 (DEFTHM
  KENZO-PROPERTY-5-20
  (IMPLIES
   (AND (> I (+ J 1))
        (NATP J)
        (NATP I)
        (NATP (CAR ABSM))
        (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
   (EQUAL
    (IMP-DEGENERACY-KENZO N J (1- Q)
                          (IMP-FACE-KENZO N (- I 1) Q ABSM))
    (DGOP-EXT-INT-CAR
         (IMP-FACE-EAT N I (1+ Q)
                       (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-19)
     (:INSTANCE KENZO-PROPERTY-5-18)
     (:INSTANCE
      EQUAL-EQUAL
      (A (IMP-DEGENERACY-KENZO N J (1- Q)
                               (IMP-FACE-KENZO N (- I 1) Q ABSM)))
      (B (DGOP-EXT-INT-CAR
              (IMP-DEGENERACY-EAT N J (1- Q)
                                  (IMP-FACE-EAT N (- I 1)
                                                Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (DGOP-EXT-INT-CAR
              (IMP-FACE-EAT
                   N I (1+ Q)
                   (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM))))))))))
 (DEFTHM
  KENZO-PROPERTY-5
  (IMPLIES (AND (> I (+ J 1))
                (NATP J)
                (NATP I)
                (NATP (CAR ABSM))
                (EQUAL ABSM (LIST (CAR ABSM) (CADR ABSM))))
           (EQUAL (IMP-DEGENERACY-KENZO N J (1- Q)
                                        (IMP-FACE-KENZO N (- I 1) Q ABSM))
                  (IMP-FACE-KENZO N I (1+ Q)
                                  (IMP-DEGENERACY-KENZO N J Q ABSM))))
  :HINTS
  (("Goal"
    :DO-NOT-INDUCT T
    :IN-THEORY (DISABLE DGOP*DGOP)
    :USE
    ((:INSTANCE KENZO-PROPERTY-5-20)
     (:INSTANCE KENZO-PROPERTY-5-9)
     (:INSTANCE
      EQUAL-EQUAL-2
      (A (IMP-DEGENERACY-KENZO N J (1- Q)
                               (IMP-FACE-KENZO N (- I 1) Q ABSM)))
      (B
       (DGOP-EXT-INT-CAR
          (IMP-FACE-EAT N I (1+ Q)
                        (IMP-DEGENERACY-EAT N J Q (DGOP-INT-EXT-CAR ABSM)))))
      (C (IMP-FACE-KENZO N I (1+ Q)
                         (IMP-DEGENERACY-KENZO N J Q ABSM)))))))))
)



(make-generic-theory *simplicial-set-kenzo*)